CN106874094A - 定时任务处理方法、装置及计算设备 - Google Patents
定时任务处理方法、装置及计算设备 Download PDFInfo
- Publication number
- CN106874094A CN106874094A CN201710086824.9A CN201710086824A CN106874094A CN 106874094 A CN106874094 A CN 106874094A CN 201710086824 A CN201710086824 A CN 201710086824A CN 106874094 A CN106874094 A CN 106874094A
- Authority
- CN
- China
- Prior art keywords
- subtask
- task
- timed task
- timed
- user
- 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.)
- Pending
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- 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
Abstract
本发明公开了一种定时任务处理方法、装置及计算设备。所述方法包括:响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务;将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。由此可以利用分布式系统实现定时任务的并发执行。
Description
技术领域
本发明涉及定时任务领域,特别是涉及一种定时任务处理方法、装置及计算设备。
背景技术
定时任务指能在规定时间点自动触发运行设定好的程序的实现方案。当定时任务的复杂度超过一定程度的时候,单台机器通常无法满足高并发的性能需求,需要通过分布式调度以在多台机器上并行执行。
当前行业内常用的定时任务解决方案主要包括如下方案。crontab,Linux系统自带,简单易用,但无法实现分布式调度,且时间精度只能到分钟,无法监控,任务意外中断之后无法处理,存在单点故障风险。Java定时器,Java语言自带的定时器,时间精度到秒,简单易用,缺点是无法分布式调度,无法监控,任务意外中断之后无法处理,存在单点故障风险。Quartz,Java语言实现的框架,功能强大,时间精度到秒,支持分布式,意外中断后有处理策略,缺点是分布式调度机制有局限性,没有提供更方便的可视化管理。
上述方案中Quartz是最接近需求的方案,但其只支持单任务,其所调度的任务跟任务之间是独立无关联的。因此需要一种新的适用于定时任务的分布式调度方案。
发明内容
本发明的主要目的在于提供一种定时任务处理方法、装置及计算设备,其能够利用分布式系统实现定时任务的处理。
根据本发明的一个方面,提供了一种定时任务处理方法,包括:响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务;将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。
由此,通过将定时任务拆分成多个子任务,并将多个子任务分配到分布式系统中的多个应用实例,使得可以由多个应用实例并行执行多个子任务,从而可以实现定时任务的并发执行。
优选地,将多个子任务分配到分布式系统中的多个应用实例的步骤可以包括:创建多个分布式锁,多个分布式锁能够被多个应用实例通过竞争得到;从多个子任务中选取一个子任务分配给获取了分布式锁的应用实例。
由此,本发明对拆分定时任务得到的多个子任务进行调度的策略可以是无中心的,各个应用实例可以根据其当前的状态决定是否竞争分布式锁,在降低调度逻辑的同时,还可以充分让处于空闲状态的应用实例能够获取到子任务的处理权限。
优选地,对于从同一个定时任务拆分的多个子任务,同一时间对一个应用实例仅分配其中一个子任务。
由此,可以避免一个应用实例领取同一定时任务下的多个子任务,可以更好地利用分布式系统的性能跟环境(例如,有些任务需要在多个不同IP下执行)。
优选地,该定时任务处理方法还可以包括:将多个子任务写入任务队列中,以便于按照任务队列中的子任务的排列顺序,分配子任务。
优选地,该定时任务处理方法还可以包括:接收各个子任务的处理状态信息,处理状态信息包括子任务的开始时间、结束时间以及当前运行状态;以及可视化地展示定时任务的子任务的处理状态信息。
由此,可以监听定时任务处理过程中各个子任务的执行情况,而不用再对各个应用实例的日志数据进行分析。
优选地,该定时任务处理方法还可以包括:提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑定时任务,其中,任务创建接口允许用户设定动态属性,并将动态属性自动映射到后台的编辑功能中,以便用户可以通过任务编辑接口对动态属性进行修改。
由此,用户可以方便地修改定时任务的属性,使得可以根据用户的需求调整任务的运行方式。
根据本发明的另一个方面,还提供了一种定时任务处理装置,包括:拆分单元,用于响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务;分配单元,用于将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。
优选地,分配单元可以包括:创建模块,用于创建多个分布式锁,多个分布式锁能够被多个应用实例通过竞争得到;以及分配模块,用于从多个子任务中选取一个子任务分配给获取了分布式锁的应用实例。
优选地,对于从同一个定时任务拆分的多个子任务,分配单元同一时间对一个应用实例仅分配其中一个子任务。
优选地,该定时任务处理装置还可以包括:写入单元,用于将多个子任务写入任务队列中,以便于分配单元按照任务队列中的子任务的排列顺序,分配子任务。
优选地,该定时任务处理装置还可以包括:接收单元,用于接收各个子任务的处理状态信息,处理状态信息包括子任务的开始时间、结束时间以及当前运行状态;以及展示单元,用于可视化地展示定时任务的子任务的处理状态信息。
优选地,该定时任务处理装置还可以包括:接口提供单元,用于提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑定时任务,其中,任务创建接口允许用户设定动态属性,并将动态属性自动映射到后台的编辑功能中,以便用户可以通过任务编辑接口对动态属性进行修改。
根据本发明的另一个方面,还提供了一种计算设备,包括:存储器,用于存储定位任务的任务信息;以及处理器,连接到存储器,用于响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务,并将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。
优选地,处理器还创建多个分布式锁,多个分布式锁能够被多个应用实例通过竞争得到,处理器从多个子任务中选取一个子任务分配给获取了分布式锁的应用实例。
优选地,对于从同一个定时任务拆分的多个子任务,处理器同一时间对一个应用实例仅分配其中一个子任务。
优选地,处理还可以将多个子任务写入任务队列中,以便于按照任务队列中的子任务的排列顺序,分配子任务。
优选地,处理还可以接收应用实例发送的分配给其的各个子任务的处理状态信息,处理状态信息包括子任务的开始时间、结束时间以及当前运行状态,并可视化地展示定时任务的子任务的处理状态信息。
优选地,处理还可以提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑定时任务,其中,任务编辑创建接口允许用户设定动态属性,并能够将用户所编辑的定时任务的动态属性自动映射到后台的编辑功能中,以便用户可以通过任务编辑接口对动态属性进行修改。
本发明的定时任务处理方法、装置及计算设备通过将定时任务拆分成多个子任务,并将多个子任务分配到分布式系统中的多个应用实例,使得可以由多个应用实例并行执行多个子任务,从而可以实现定时任务的并发执行。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是示出了根据本发明一实施例的计算设备的功能框图。
图2是示出了根据本发明一实施例的定时任务处理方法的示意性流程图。
图3是示出了展示定时任务的处理状态信息的示意图。
图4是示出了供用户编辑定时任务的编辑界面示意图。
图5是示出了根据本发明一实施例的定时任务的处理流程图。
图6是示出了根据本发明一实施例的定时任务处理装置的结构的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
如前所述,为了能够利用分布式系统来使得复杂度较高的定时任务能够被高效地执行,本发明将定时任务拆分成多个子任务,通过将多个子任务分配到分布式系统下的多个应用实例,使得可以由分布式系统实现定时任务的并行处理。
下面将参照图1至图5来具体地描述本发明的实施例。图1是示出了根据本发明一实施例的计算设备100的功能框图。计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
如图1所示,计算设备100包括存储器110和处理器120,存储器110连接到处理器120。在本发明的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本发明范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
存储器110能够存储定时任务的任务信息,此处的任务信息可以是与定时任务相关的属性信息。处理器120能够响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务,并将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。
处理器120的具体处理可以参见图2。图2是示出了根据本发明一实施例的定时任务的处理方法的示意性流程图。
参见图2,定时任务的处理方法开始于步骤S210,响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务。
此处可以根据定时任务的任务信息,选取相应的拆分规则对定时任务进行拆分。例如可以将不互相关联的定时任务中的多个独立进程拆分为多个独立子任务,也可以将具有关联关系(例如可以是依赖关系)的进程拆分为关联子任务,具体可以有多种拆分形式,这里不再一一赘述。
在将定时任务拆分成多个子任务后,就可以执行步骤S220,将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。其中,本文述及的“应用实例”可以指代服务器集群中的服务器,也可以是部署在服务器上的能够执行任务的业务节点,此时同一服务器上可以部署多个业务节点,不同的业务节点可以用于执行对应于不同的定时任务的子任务。
综上,在定时任务的处理过程较复杂时,就可以利用本发明的定时任务处理方案对定时任务进行拆分,拆分得到的多个子任务就可以由分布式系统中的多个应用实例执行,由此可以提高定时任务的执行效率,可以满足定时任务的高并发的性能需求。
在利用本发明的定时任务处理方案将基于定时任务拆分得到的多个子任务分配到分布式系统中的多个应用实例时,为了简化子任务的调度逻辑,可以由应用实例采取竞争锁的方式来获取子任务的处理权限。
具体来说,可以创建多个分布式锁,应用实例可以通过竞争的方式来获取分布式锁(例如,可以采取先到先得的方式进行竞争)。在应用实例获取了一个分布式锁后,就可以从多个子任务中选取一个子任务进行处理,在处理完该子任务后,可以继续通过竞争获取分布式锁,以获取下一个子任务的处理权限。
由此本发明对拆分定时任务得到的多个子任务进行调度的策略可以是无中心的,应用实例可以根据其当前的状态决定是否竞争分布式锁,使得在降低子任务的调度逻辑的复杂性的同时,还可以充分让处于空闲状态的应用实例能够获取到子任务的处理权限。
在本发明一个实施例中,在分配同一定时任务拆分得到的子任务时,可以采取互斥机制,即对于同一个定时任务拆分得到的子任务,同一应用实例同一时间仅能运行一个子任务。也就是说,对于从同一个定时任务拆分的多个子任务,同一时间对一个应用实例可以仅分配其中一个子任务,在该应用实例执行完分配给其的子任务后,再分配下一个子任务。由此可以避免一个应用实例领取同一定时任务下的多个子任务,可以更好地利用分布式系统的性能跟多机网络环境。例如,分布式爬虫任务需要在多个不同IP下执行,基于本发明的互斥机制,既提高性能也可以避免同个IP并发太高容易被封杀的问题。
在本发明一个实施例中,还可以将拆分得到的多个子任务写入任务队列中,以便于可以按照任务队列中的子任务的排列顺序,分配子任务。如上文所述,对定时任务拆分时,可能会得到独立子任务和关联子任务。此时可以将独立子任务写入任务队列中的前端,而将关联子任务写入任务队列中的后端,并且对于多个关联子任务,还可以将被依赖度较高的关联子任务写入队列中靠前的位置,将依赖度较高的关联子任务写入队列中靠后的位置。由此,还可以根据子任务的依赖程度(或被依赖程度),计算子任务的执行优先级,根据子任务的执行优先级的大小顺序,将子任务写入任务队列中的合适位置。
为了能够方便地观察定时任务的执行情况,在应用实例运行子任务的过程中,还可以接收各个子任务的开始时间、结束时间、当前运行状态等处理状态信息,并可视化地展示定时任务的子任务的处理状态信息。其中,子任务的处理状态信息可以由机器上的某个管理程序统一发送,也可以是各个子任务自己发送。图3示出了展示定时任务的处理状态信息的示意图。如图3所示,可以展示子任务的任务id、任务名称、Cron表达式、当前状态、当前子任务书、上次执行实际、下次执行时间以及可供用户点击操作的子任务详情、立即执行等等。由此,通过监听子任务的执行过程中的状态,可以避免通过汇总分布式系统下多台机器日志的繁复的方式来追踪排查问题。
另外,还可以提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑定时任务,其中,任务创建接口允许用户设定动态属性,并将动态属性自动映射到后台的编辑功能中,以便用户可以通过任务编辑接口对动态属性进行修改。图4示出了供用户编辑定时任务的编辑界面示意图。如图4所示,用户可以对任务名称、简介等多种自定义参数进行设置,以使得用户可以通过调整参数值改变下次运行的条件。
图5示出了利用本发明后的定时任务的处理流程。
参见图5,首先可以执行步骤1,由定时器等待定时任务的触发。在检测到定时任务触发时(步骤2),就可以执行步骤3,由当前服务器实例读取主任务信息(即定时任务信息)。在读取完主任务信息后,可以检测是否出现任务时间冲突,在出现冲突时可以对其进行处理。然后执行步骤2.3,将任务拆分成多个子任务。其中,具体的拆分原则这里不再赘述。在拆分完成后将子任务加入任务队列中(步骤2.4)。此时可以记录主任务开始执行。
接下来,可以执行步骤3,由各服务器实例竞争分布式锁,服务器实例在获取到锁后(步骤4),就可以在任务队列中认领一个子任务(步骤5),读取子任务信息及其动态属性(步骤6),记录此子任务开始执行的信息(步骤7),然后就可以执行对应的业务逻辑(步骤8)。
在执行完子任务后,可以记录子任务状态结束信息(步骤9),然后可以执行步骤10,检查是否所有子任务执行完毕,在检查到还有未执行的子任务时,可以返回步骤3,重新获取锁来认领未完成的子任务。在检查到没有子任务剩余时,可以记录主任务执行完毕(步骤11),回调主任务完成事件(步骤12),结束任务,等待下次定时触发(步骤12.1)。
图6是示出了根据本发明一实施例的安卓系统下检测通知功能被屏蔽的装置的功能框图。其中,处理装置300的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图6所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
图6所示的处理装置300可以用来实现图2所示的检测方法,下面仅就检测装置300可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图2的描述,这里不再赘述。
如图6所示,处理装置300包括拆分单元310和分配单元330。拆分单元310能够响应于定时任务的触发指令,基于定时任务的任务信息,将定时任务拆分成多个子任务。
分配单元330能够将多个子任务分配到分布式系统中的多个应用实例,以便由应用实例执行为其分配的子任务。其中,对于从同一个定时任务拆分的多个子任务,分配单元330可以同一时间对一个应用实例仅分配其中一个子任务。
在本发明一个实施例中,可选地,分配单元330可以包括创建模块331和分配模块332。创建模块331用于创建多个分布式锁,多个分布式锁能够被多个应用实例通过竞争得到。分配模块332用于从多个子任务中选取一个子任务分配给获取了分布式锁的应用实例。
在本发明一个实施例中,可选地,处理装置300还可以包括写入单元350。写入单元350可以将多个子任务写入任务队列中,以便于分配单元330按照任务队列中的子任务的排列顺序,分配子任务。
在本发明一个实施例中,可选地,处理装置还可以包括接收单元370和展示单元390。接收单元370用于接收各个子任务的处理状态信息,处理状态信息包括子任务的开始时间、结束时间以及当前运行状态。展示单元390用于可视化地展示定时任务的子任务的处理状态信息。
在本发明一个实施例中,可选地,处理装置还可以包括接口提供单元395。接口提供单元395用于提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑定时任务,其中,任务创建接口允许用户设定动态属性,并将动态属性自动映射到后台的编辑功能中,以便用户可以通过任务编辑接口对动态属性进行修改。
上文中已经参考附图详细描述了根据本发明的定时任务处理方法、装置及计算设备。
此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种计算设备,包括:
存储器,用于存储定位任务的任务信息;以及
处理器,连接到所述存储器,用于响应于所述定时任务的触发指令,基于所述定时任务的任务信息,将所述定时任务拆分成多个子任务,并将所述多个子任务分配到分布式系统中的多个应用实例,以便由所述应用实例执行为其分配的子任务。
2.根据权利要求1所述的计算设备,其中,
所述处理器还创建多个分布式锁,所述多个分布式锁能够被所述多个应用实例通过竞争得到,所述处理器从所述多个子任务中选取一个子任务分配给获取了所述分布式锁的应用实例。
3.根据权利要求1所述的计算设备,其中,
对于从同一个定时任务拆分的多个子任务,所述处理器同一时间对一个应用实例仅分配其中一个子任务。
4.根据权利要求1所述的计算设备,其中,
所述处理还将所述多个子任务写入任务队列中,以便于按照所述任务队列中的子任务的排列顺序,分配所述子任务。
5.根据权利要求1至4中任何一项所述的计算设备,其中,
所述处理还接收应用实例发送的分配给其的各个子任务的处理状态信息,所述处理状态信息包括子任务的开始时间、结束时间以及当前运行状态,并可视化地展示所述定时任务的子任务的处理状态信息。
6.根据权利要求5所述的计算设备,其中,
所述处理还提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑所述定时任务,其中,所述任务编辑创建接口允许用户设定动态属性,并能够将用户所编辑的定时任务的所述动态属性自动映射到后台的编辑功能中,以便用户可以通过所述任务编辑接口对所述动态属性进行修改。
7.一种定时任务处理装置,包括:
拆分单元,用于响应于所述定时任务的触发指令,基于所述定时任务的任务信息,将所述定时任务拆分成多个子任务;
分配单元,用于将所述多个子任务分配到分布式系统中的多个应用实例,以便由所述应用实例执行为其分配的子任务。
8.根据权利要求7所述的定时任务处理装置,其中,所述分配单元包括:
创建模块,用于创建多个分布式锁,所述多个分布式锁能够被所述多个应用实例通过竞争得到;以及
分配模块,用于从所述多个子任务中选取一个子任务分配给获取了所述分布式锁的应用实例。
9.根据权利要求7所述的定时任务处理装置,其中,
对于从同一个定时任务拆分的多个子任务,所述分配单元同一时间对一个应用实例仅分配其中一个子任务。
10.根据权利要求7所述的定时任务处理装置,还包括:
写入单元,用于将所述多个子任务写入任务队列中,以便于所述分配单元按照所述任务队列中的子任务的排列顺序,分配所述子任务。
11.根据权利要求7至10中任何一项所述的定时任务处理装置,还包括:
接收单元,用于接收各个子任务的处理状态信息,所述处理状态信息包括子任务的开始时间、结束时间以及当前运行状态;以及
展示单元,用于可视化地展示所述定时任务的子任务的处理状态信息。
12.根据权利要求11所述的定时任务处理装置,还包括:
接口提供单元,用于提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑所述定时任务,其中,所述任务创建接口允许用户设定动态属性,并将所述动态属性自动映射到后台的编辑功能中,以便用户可以通过所述任务编辑接口对所述动态属性进行修改。
13.一种定时任务处理方法,包括:
响应于所述定时任务的触发指令,基于所述定时任务的任务信息,将所述定时任务拆分成多个子任务;
将所述多个子任务分配到分布式系统中的多个应用实例,以便由所述应用实例执行为其分配的子任务。
14.根据权利要求13所述的定时任务处理方法,其中,所述将多个子任务分配到分布式系统中的多个应用实例的步骤包括:
创建多个分布式锁,所述多个分布式锁能够被所述多个应用实例通过竞争得到;
从所述多个子任务中选取一个子任务分配给获取了所述分布式锁的应用实例。
15.根据权利要求13所述的定时任务处理方法,其中,
对于从同一个定时任务拆分的多个子任务,同一时间对一个应用实例仅分配其中一个子任务。
16.根据权利要求13所述的定时任务处理方法,还包括:
将所述多个子任务写入任务队列中,以便于按照所述任务队列中的子任务的排列顺序,分配所述子任务。
17.根据权利要求13至16中任何一项所述的定时任务处理方法,还包括:
接收各个子任务的处理状态信息,所述处理状态信息包括子任务的开始时间、结束时间以及当前运行状态;以及
可视化地展示所述定时任务的子任务的处理状态信息。
18.根据权利要求17所述的定时任务处理方法,还包括:
提供面向用户的任务创建接口和任务编辑接口,以便于用户创建和编辑所述定时任务,其中,所述任务创建接口允许用户设定动态属性,并将所述动态属性自动映射到后台的编辑功能中,以便用户可以通过所述任务编辑接口对所述动态属性进行修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710086824.9A CN106874094A (zh) | 2017-02-17 | 2017-02-17 | 定时任务处理方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710086824.9A CN106874094A (zh) | 2017-02-17 | 2017-02-17 | 定时任务处理方法、装置及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106874094A true CN106874094A (zh) | 2017-06-20 |
Family
ID=59167225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710086824.9A Pending CN106874094A (zh) | 2017-02-17 | 2017-02-17 | 定时任务处理方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874094A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102200A (zh) * | 2018-08-27 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种定时任务处理方法及装置 |
CN109409853A (zh) * | 2018-12-29 | 2019-03-01 | 深圳市思迪信息技术股份有限公司 | 基于运维管理平台的任务流程处理方法及装置 |
CN109445928A (zh) * | 2018-11-14 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种访问请求处理方法、装置、设备及可读存储介质 |
CN109558234A (zh) * | 2018-11-30 | 2019-04-02 | 中国联合网络通信集团有限公司 | 一种定时任务调度方法和装置 |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN109634728A (zh) * | 2018-11-16 | 2019-04-16 | 深圳市云智融科技有限公司 | 作业调度方法、装置、终端设备及可读存储介质 |
CN109857563A (zh) * | 2019-02-18 | 2019-06-07 | 重庆西部汽车试验场管理有限公司 | 任务执行方法、装置和任务执行系统 |
CN109976883A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 一种任务的处理方法及其系统 |
CN110032444A (zh) * | 2019-02-25 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种分布式系统及分布式任务处理方法 |
WO2019196250A1 (zh) * | 2018-04-09 | 2019-10-17 | 平安科技(深圳)有限公司 | 一种任务处理方法、存储介质、服务器和装置 |
CN110569113A (zh) * | 2018-06-06 | 2019-12-13 | 海通证券股份有限公司 | 分布式任务的调度方法及系统、计算机可读存储介质 |
CN110659117A (zh) * | 2019-08-23 | 2020-01-07 | 阿里巴巴集团控股有限公司 | 业务指标任务调度及执行方法、装置、系统及存储介质 |
CN110888739A (zh) * | 2019-11-22 | 2020-03-17 | 南京甄视智能科技有限公司 | 延迟任务的分布式处理方法与装置 |
CN110955508A (zh) * | 2019-11-28 | 2020-04-03 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN111090525A (zh) * | 2019-12-18 | 2020-05-01 | 紫光云(南京)数字技术有限公司 | 一种Redis实现分布式锁的高并发优化的处理方法 |
CN111562971A (zh) * | 2020-04-09 | 2020-08-21 | 北京明略软件系统有限公司 | 分布式定时器的调度方法及系统 |
CN113590314A (zh) * | 2021-07-13 | 2021-11-02 | 上海一谈网络科技有限公司 | 网络请求数据处理方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455932A (zh) * | 2010-10-22 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种任务实例串行执行方法、装置及系统 |
CN103645909A (zh) * | 2013-12-30 | 2014-03-19 | 中国烟草总公司湖南省公司 | 定时任务的处理方法及装置 |
CN103677973A (zh) * | 2013-09-01 | 2014-03-26 | 西安重装渭南光电科技有限公司 | 一种分布式多任务调度管理系统 |
CN104735138A (zh) * | 2015-03-09 | 2015-06-24 | 中国科学院计算技术研究所 | 一种面向用户生成内容的分布式采集方法与系统 |
CN104750549A (zh) * | 2015-04-13 | 2015-07-01 | 飞狐信息技术(天津)有限公司 | 计算任务处理装置、方法及系统 |
CN106126332A (zh) * | 2016-06-27 | 2016-11-16 | 北京京东尚科信息技术有限公司 | 分布式定时任务调度系统及方法 |
-
2017
- 2017-02-17 CN CN201710086824.9A patent/CN106874094A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455932A (zh) * | 2010-10-22 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种任务实例串行执行方法、装置及系统 |
CN103677973A (zh) * | 2013-09-01 | 2014-03-26 | 西安重装渭南光电科技有限公司 | 一种分布式多任务调度管理系统 |
CN103645909A (zh) * | 2013-12-30 | 2014-03-19 | 中国烟草总公司湖南省公司 | 定时任务的处理方法及装置 |
CN104735138A (zh) * | 2015-03-09 | 2015-06-24 | 中国科学院计算技术研究所 | 一种面向用户生成内容的分布式采集方法与系统 |
CN104750549A (zh) * | 2015-04-13 | 2015-07-01 | 飞狐信息技术(天津)有限公司 | 计算任务处理装置、方法及系统 |
CN106126332A (zh) * | 2016-06-27 | 2016-11-16 | 北京京东尚科信息技术有限公司 | 分布式定时任务调度系统及方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582466B (zh) * | 2017-09-29 | 2021-05-25 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN109976883A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 一种任务的处理方法及其系统 |
WO2019196250A1 (zh) * | 2018-04-09 | 2019-10-17 | 平安科技(深圳)有限公司 | 一种任务处理方法、存储介质、服务器和装置 |
CN110569113A (zh) * | 2018-06-06 | 2019-12-13 | 海通证券股份有限公司 | 分布式任务的调度方法及系统、计算机可读存储介质 |
CN109102200B (zh) * | 2018-08-27 | 2021-08-10 | 创新先进技术有限公司 | 一种定时任务处理方法及装置 |
CN109102200A (zh) * | 2018-08-27 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种定时任务处理方法及装置 |
CN109445928A (zh) * | 2018-11-14 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种访问请求处理方法、装置、设备及可读存储介质 |
CN109634728A (zh) * | 2018-11-16 | 2019-04-16 | 深圳市云智融科技有限公司 | 作业调度方法、装置、终端设备及可读存储介质 |
CN109558234A (zh) * | 2018-11-30 | 2019-04-02 | 中国联合网络通信集团有限公司 | 一种定时任务调度方法和装置 |
CN109409853A (zh) * | 2018-12-29 | 2019-03-01 | 深圳市思迪信息技术股份有限公司 | 基于运维管理平台的任务流程处理方法及装置 |
CN109857563B (zh) * | 2019-02-18 | 2021-04-27 | 重庆西部汽车试验场管理有限公司 | 任务执行方法、装置和任务执行系统 |
CN109857563A (zh) * | 2019-02-18 | 2019-06-07 | 重庆西部汽车试验场管理有限公司 | 任务执行方法、装置和任务执行系统 |
CN110032444A (zh) * | 2019-02-25 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种分布式系统及分布式任务处理方法 |
CN110032444B (zh) * | 2019-02-25 | 2023-01-10 | 创新先进技术有限公司 | 一种分布式系统及分布式任务处理方法 |
CN110659117A (zh) * | 2019-08-23 | 2020-01-07 | 阿里巴巴集团控股有限公司 | 业务指标任务调度及执行方法、装置、系统及存储介质 |
CN110888739A (zh) * | 2019-11-22 | 2020-03-17 | 南京甄视智能科技有限公司 | 延迟任务的分布式处理方法与装置 |
CN110955508A (zh) * | 2019-11-28 | 2020-04-03 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN111090525A (zh) * | 2019-12-18 | 2020-05-01 | 紫光云(南京)数字技术有限公司 | 一种Redis实现分布式锁的高并发优化的处理方法 |
CN111090525B (zh) * | 2019-12-18 | 2022-09-23 | 紫光云(南京)数字技术有限公司 | 一种Redis实现分布式锁的高并发优化的处理方法 |
CN111562971A (zh) * | 2020-04-09 | 2020-08-21 | 北京明略软件系统有限公司 | 分布式定时器的调度方法及系统 |
CN113590314A (zh) * | 2021-07-13 | 2021-11-02 | 上海一谈网络科技有限公司 | 网络请求数据处理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874094A (zh) | 定时任务处理方法、装置及计算设备 | |
Wong et al. | Integrated process planning and scheduling/rescheduling—an agent-based approach | |
US7774742B2 (en) | Facilitation of multi-project management using task hierarchy | |
CN103593236A (zh) | 一种业务流程调度的计算机设备、方法和装置 | |
CN109271447A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN107544886A (zh) | 一种模块流程化调度方法及装置 | |
US20230121667A1 (en) | Categorized time designation on calendars | |
Klevanskiy et al. | Multi-project scheduling: multicriteria time-cost trade-off problem | |
CN106550042A (zh) | 多线程下载方法和装置及计算设备 | |
CN106814993A (zh) | 确定任务调度时间的方法、确定任务执行时间的方法和设备 | |
CN114924858A (zh) | 任务调度方法及装置、存储介质及电子设备 | |
CN110114732A (zh) | 可编程控制器、管理装置和控制系统 | |
CN109656692A (zh) | 一种大数据任务管理方法、装置、设备及存储介质 | |
Lashkevich et al. | Why am I waiting? Data-driven analysis of waiting times in business processes | |
JP2017072931A (ja) | 生産計画指示装置、生産計画指示システム、及び生産計画指示方法 | |
EP2915131A1 (en) | Case management using active entities in a social network | |
CN110225077A (zh) | 变更供应数据的同步方法、装置、计算机设备及计算机存储介质 | |
JP2008299496A (ja) | 業務シミュレータおよびそのプログラム | |
CN115061811A (zh) | 一种资源调度方法、装置、设备及存储介质 | |
JP6626327B2 (ja) | ガントチャート生成プログラム、ガントチャート生成装置、および、ガントチャート生成方法 | |
Park et al. | Supervisory control for fault-tolerant scheduling of real-time multiprocessor systems with aperiodic tasks | |
JP2019205080A (ja) | 変換装置、および、変換プログラム | |
US20230306375A1 (en) | Automatic notification generation | |
Velasco-Elizondo et al. | Aggregate qos estimation of service compositions-an analysis of pattern-oriented approaches | |
JP2014507734A (ja) | 分散計算方法及び分散計算システム |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200811 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510665 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping radio square B tower 13 floor 02 unit self Applicant before: Guangzhou Aijiuyou Information Technology Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |