CN106126332A - Distributed timing task scheduling system and method - Google Patents
Distributed timing task scheduling system and method Download PDFInfo
- Publication number
- CN106126332A CN106126332A CN201610483094.1A CN201610483094A CN106126332A CN 106126332 A CN106126332 A CN 106126332A CN 201610483094 A CN201610483094 A CN 201610483094A CN 106126332 A CN106126332 A CN 106126332A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduler
- timed task
- module
- distributed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 239000010453 quartz Substances 0.000 description 6
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004899 motility Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 240000007643 Phytolacca americana Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
This application discloses distributed timing task scheduling system and method.Described distributed timing task scheduling system includes: scheduler, for carrying out the task distribution of multiple timed task;Intervalometer, described intervalometer includes multiple timer module, for starting timing according to the distribution of described task;Executor, the multiple service module of described executor, the plurality of service module, according to the instruction of the plurality of timer module, starts or stops, when reaching the time conditions of the plurality of timed task, the service of execution;And distributed service framework, it is used for supporting described scheduler and described intervalometer distributed deployment and operation, wherein, described scheduler dynamically distributes timed task at system run duration.Scheduler and intervalometer in described distributed timing task scheduling system run in a distributed fashion, such that it is able to improve system effectiveness.This system allows dynamically to distribute timed task, it is simple to carry out task management, such that it is able to improve Consumer's Experience.
Description
Technical field
The present invention relates to computer realm, be specifically related to distributed timing task scheduling system and method.
Background technology
Frequently involving asynchronous task in large software system building process to process, asynchronous task is adjusted by intervalometer timing
Degree performs.Under Java platform, existing timed task scheduler module includes the lightweight task module that Spring framework carries
(i.e. Spring task), or the Quartz scheduler (i.e. Quartz scheduler) that Spring framework is supported.
When task module scheduling can be used in Spring framework to perform timed task, can refer to configuration task module
Determine timed task and perform entrance and time rule.This task module starts with Spring and starts, and performs after arriving timing
Timed task.But, Spring framework itself is a JavaEE application framework, does not support distributed mechanism.Spring framework
Under timed task be all that single example performs.Spring framework is not carried out between example cooperating and the mechanism of data interaction,
Therefore, utilize Spring framework itself cannot be directly realized by timed task set and be distributed in different timing device module, the most not
May dynamically increase and decrease timer module at system run duration and again hold with rescheduling period affected timed task
OK.
Quartz scheduler schedules can also be used in Spring framework to perform timed task.Quartz scheduler is one
The timed task dispatching patcher of individual enterprise-level, itself supports clustering functionality.Quartz scheduler uses Database lock mode to control
Make which Quartz scheduler example and perform timed task.But, data library locking is operated, not only degraded performance and also easily
Produce deadlock, be therefore not suitable for the large-scale distributed system that timed task is more.
Above-mentioned existing timed task scheduler module is all considered as the assembly of timed task scheduling, rather than complete is
System.The execution of timed task scheduler module and task module is all in the same process space.When timed task is more, system
Heavier loads, degraded performance and close coupling, thus be difficult to be applied directly in large scale system, it is unfavorable for that formation independently can high in the clouds portion
The product of administration.
And, existing timed task scheduler module does not has web-based management end, it is difficult to be managed timed task, as increased
Adding, revise, delete timed task, and check timed task implementation status etc., thus use inconvenience, Consumer's Experience is the best.
Summary of the invention
In view of this, it is an object of the invention to provide distributed timing task scheduling system and method, wherein, scheduler
Run in a distributed fashion with intervalometer, and allow in web terminal, timed task to be managed, such that it is able to improve system effectiveness
With improve Consumer's Experience.
According to an aspect of the present invention, it is provided that a kind of distributed timing task scheduling system, including scheduler, be used for into
The task distribution of the multiple timed tasks of row;Intervalometer, described intervalometer includes multiple timer module, for according to described task
Distribution starts timing;Executor, the multiple service module of described executor, the plurality of service module is according to the plurality of intervalometer
The instruction of module, starts or stops, when reaching the time conditions of the plurality of timed task, the service of execution;And distributed clothes
Business framework, is used for supporting described scheduler and described intervalometer distributed deployment and operation, and wherein, described scheduler is transported in system
Timed task is dynamically distributed between the departure date.
Preferably, described scheduler according to Hash consistency algorithm, the plurality of timed task is distributed to the plurality of fixed
Time device module.
Preferably, when the plurality of timed task changes, described scheduler is by the plurality of timed task
At least some of timed task be reassigned to the plurality of timer module.
Preferably, the state of timer module monitored by described scheduler, to determine whether the plurality of timed task occurs
Change.
Preferably, described scheduler includes master scheduler module and from Scheduler module, and, described master scheduler module
For the plurality of timed task, select the corresponding Scheduler module distribution timed task in described scheduler.
Preferably, sync cap is used to communicate between described scheduler and described intervalometer, described intervalometer and institute
State and between executor, use Http request to communicate.
Preferably, also including: web-based management end, described web-based management end provides user interface, is used for adding, revises, deletes
Timed task, and for checking the implementation status of timed task.
Preferably, sync cap is used to communicate between described web-based management end and described scheduler.
Preferably, described sync cap is the interface of thrift agreement.
Preferably, also including data base, the configuration data for storing described scheduler and described intervalometer are eased up poke
According to.
According to a further aspect in the invention, it is provided that a kind of distributed timing method for scheduling task, including: start multiple service
Module;According to distribution timed task request, scheduler distributes timed task, wherein, the scheduler multiple timings from intervalometer
Device module selects corresponding timer module and transmits Mission Rules Guidelines;It is fixed that selected timer module starts according to Mission Rules Guidelines
Time;And when reaching the time conditions of the plurality of timed task, described selected timer module starts or stops execution
Respective service in the plurality of service module, wherein, described scheduler and described intervalometer run in a distributed way, and
Described scheduler dynamically distributes timed task at system run duration.
Preferably, the step of scheduler distribution timed task includes: according to Hash consistency algorithm by the plurality of timing
Task distributes to the plurality of timer module.
Preferably, the step of scheduler distribution timed task includes: generate the first Hash according to the ID of described timed task
Value;ID according to the plurality of timer module generates multiple second cryptographic Hash;And by described first cryptographic Hash and described many
Individual second cryptographic Hash is mapped in the annular space of Guan Bi.
Preferably, for described first cryptographic Hash, suitable according to the second cryptographic Hash multiple described in described annular space are pressed
The nearest mode of clock associates corresponding second cryptographic Hash, and it is described fixed to set up according to the first cryptographic Hash and corresponding second cryptographic Hash
Time task and the plurality of timer module corresponding relation, according to described corresponding relation, described timing is appointed by described scheduler
A corresponding timer module in the plurality of timer module is distributed in business.
Preferably, when described timed task changes, timed task redistributed by described scheduler.
Preferably, the state of timer module monitored by described scheduler, to determine whether the plurality of timed task occurs
Change.
Preferably, sync cap is used to communicate between described scheduler and described intervalometer, described intervalometer and institute
State and between executor, use Http request to communicate.
Preferably, described Mission Rules Guidelines includes that service name and time impose a condition.
Preferably, the described time imposes a condition and includes: after delay scheduled time, described service is once, or described service
Periodically perform with predetermined time interval.
Scheduler and intervalometer in described distributed timing task scheduling system run, in a distributed fashion such that it is able to carry
High system effectiveness.This system allows dynamically to distribute timed task, it is simple to carry out task management, such that it is able to improve Consumer's Experience.
Accompanying drawing explanation
By referring to the following drawings description to the embodiment of the present invention, above-mentioned and other purpose of the present invention, feature and
Advantage will be apparent from, in the accompanying drawings:
Fig. 1 is the system architecture diagram of the distributed timing task scheduling system according to the embodiment of the present invention;
Fig. 2 illustrates the flow chart of distributed timing method for scheduling task according to embodiments of the present invention;
Fig. 3 illustrates the flow process of original allocation task in distributed timing method for scheduling task according to embodiments of the present invention
Figure;
Fig. 4 a and 4b illustrates original allocation task in distributed timing method for scheduling task according to embodiments of the present invention
The schematic diagram of different step;
Fig. 5 illustrates the flow process redistributing task in distributed timing method for scheduling task according to embodiments of the present invention
Figure;And
Fig. 6 a to 6c illustrates in distributed timing method for scheduling task according to embodiments of the present invention and redistributes task
The schematic diagram of different step.
Detailed description of the invention
Below based on embodiment, present invention is described, but the present invention is not restricted to these embodiments.Under
During the details of the present invention is described by literary composition, detailed describe some specific detail sections.Do not have for a person skilled in the art
The description of these detail sections can also understand the present invention completely.In order to avoid obscuring the essence of the present invention, known method, mistake
Journey, flow process describe the most in detail.Additionally accompanying drawing is not necessarily drawn to scale.
Flow chart in accompanying drawing, block diagram illustrate the possible system frame of the system of the embodiment of the present invention, method, device
Square frame on frame, function and operation, flow chart and block diagram can represent a module, program segment or only one section of code, institute
State module, program segment and code and be all used to realize the executable instruction of regulation logic function.Rule are realized it should also be noted that described
The executable instruction determining logic function can reconfigure, thus generates new module and program segment.Therefore the square frame of accompanying drawing with
And square frame order is used only to preferably illustrate process and the step of embodiment, and should be in this, as the limit to invention itself
System.
Fig. 1 is the system architecture diagram of the distributed timing task scheduling system according to the embodiment of the present invention.This is distributed fixed
Time task scheduling system include distributed service framework 110, data base 120, scheduler 130, intervalometer 140 and executor 150.
Distributed service framework 110 is as the overall distributed coordination device of system, for management scheduler 130 and intervalometer
140.Distributed service framework 110 is e.g. selected from the one of Zookeeper, Dubbo.
Data base 120 is used for storing whole system data, and the configuration data including scheduler 130 and intervalometer 140 are eased up
Deposit data.Such as, data base 120 stores timed task ID and relevant timer module ID.Data base 120 is e.g. selected from
The one of ORACLE, SYBASE, InfORMix, SQL Server and MySQL.
Scheduler 130 includes multiple scheduler module, only illustrates scheduler module 131 and 132, respectively as master scheduling mould in figure
Block and from scheduler module.Scheduler module 131 and 132 receives the operational order that external management end transmits, adding of such as timed task
Add, revise and delete and the checking of timed task.Scheduler module 131 and 132 is timed task according to operational order and divides
Join.In this embodiment, owing to scheduler 130 is based on distributed service framework 110, therefore, multiple scheduling moulds of scheduler 130
Block can be distributed in different servers.
Intervalometer 140 includes multiple timer module, only illustrates timer module 141 and 142 in figure.Intervalometer 140 with
Carrying out synchronous communication between scheduler 130, the communication interface of such as based on thrift framework synchronous mode realizes therebetween
Communication.When the communication realizing intervalometer 140 and external module, thrift framework is used to allow expansible and across language
The deployment of multiple services, be thus advantageous to realize the motility of service development and deployment.The timer module of intervalometer 140
141 and 142 carry out timed task scheduling according to the timed task distribution of scheduler 130.In this embodiment, due to intervalometer
140 based on distributed service framework 110, and therefore, multiple timer module of intervalometer 140 can be distributed in different servers
In.
Executor 150 includes multiple service module, only illustrates service module 151 and 152 in figure.Executor 150 and timing
Device 140 can realize communication therebetween via Http request.Service module 151 and 152 is the tool of timed task scheduling
Body executor.Service module 151 and 152 timer module corresponding to intervalometer 140 of executor 150 is associated.
When the timer module of intervalometer 140 reaches time conditions, respective service module in executor 150 performs corresponding
Service.In this embodiment, owing to executor 150 performs service according to the instruction of Http request transmission, therefore, executor
Multiple service modules of 150 can be distributed in different servers, and is not limited to Local or Remote server, is also not necessarily limited to
Isomorphism or heterogeneous server.
In the distributed timing task system of above-described embodiment, multiple scheduler modules of scheduler and intervalometer multiple
Timer module is disposed based on distributed service framework and runs, and therefore can run on multiple process spaces of multiple server
In, such that it is able to alleviate system load, and can dispose with high in the clouds, thus reduce system cost and reliability.Due to scheduler
And weak coupling between intervalometer and executor, therefore can form independent product.
In a preferred embodiment, this distributed timing task scheduling system can also include daily record and monitoring mould
Block, performs relevant information and monitoring system state for logger task.
In another preferred embodiment, this distributed timing task scheduling system can also include web-based management end
160.This web-based management end 160 provides user interface, is used for adding, revises, deletes timed task, and to may be used for checking fixed simultaneously
Time task implementation status.Synchronous communication is carried out between web-based management end 160 and scheduler 130, such as based on thrift framework
The communication interface of synchronous mode realizes communication therebetween.In the communication realized between web-based management end 160 and scheduler 130
Time, use thrift framework can allow the expansible and deployment of multiple services across language, be thus advantageous to realization service and open
The motility sent out and dispose.
According to this preferred embodiment, this distributed timing task scheduling system can be as have complete function
System, rather than certain assembly, such that it is able to avoid carrying out secondary development.Such as, this distributed timing task scheduling system can be straight
Connect and used by user.In an example, this distributed timing task scheduling system can be as SaaS (software i.e. services) group
Part forms product.
Fig. 2 illustrates the flow chart of distributed timing method for scheduling task according to embodiments of the present invention.
Multiple service modules in step S01, in system start-up executor.Each service module has specific function
And address of service.Such as, in the distributed timing task scheduling system of enterprise's mailbox etc, multiple service mould can be set
Block, such as, user management module, new mail notice module, adnexa archive module etc..The address of service of each service module is such as
Including IP address and port numbers.
In step S02, the master scheduling module of the scheduler in distributed service framework receives what external management end transmitted
Distribution timed task request.Master scheduling module, according to system load and scheduling rule, selects further by self or from scheduling mould
Block carries out task scheduling.
In step S03, selected scheduler module stochastic generation unique identifier (UUID) performing task scheduling, as fixed
Time task ID, and select the corresponding timer module in intervalometer according to Hash (Hash) consistency algorithm, and to
The selected timer module performing timed task sends Mission Rules Guidelines.Such as, this Mission Rules Guidelines includes service name and time
Impose a condition.This time imposes a condition and includes: after delay scheduled time, service module performs once, or service module is with in advance
Gap periods of fixing time performs.
In step S04, the selected timer module performing timed task receives time rule, and starts timing.
In step 05, after the time of reaching imposes a condition, the service in executor of the timer module in intervalometer
Module sends instruction so that described service module starts or stops according to Mission Rules Guidelines.Such as, timer module can be according to clothes
The address of service of business module, sends Http request, thus controls the execution process of service module.
In a preferred embodiment, this distributed timing method for scheduling task also includes: use web-based management end, to
The master scheduling module of scheduler sends distribution timed task request.This web-based management end provides user interface, be used for adding, revise,
Delete timed task, may be used for checking the implementation status of timed task, such that it is able to directly used by user, it is to avoid enter simultaneously
Row secondary development.
Fig. 3 illustrates the flow process of original allocation task in distributed timing method for scheduling task according to embodiments of the present invention
Figure.Correspondingly, original allocation task during Fig. 4 a and 4b illustrates distributed timing method for scheduling task according to embodiments of the present invention
The schematic diagram of different step.
When managing end and sending interpolation timed task request, in scheduler, the selected scheduler module performing task scheduling will be held
Row following steps are to add new timed task, wherein, according to Hash (Hash) consistency algorithm select in intervalometer corresponding
One timer module.
In step s 11, scheduler module stochastic generation unique identifier (UUID), as timed task ID.
In step s 12, scheduler module calculates the cryptographic Hash of timed task ID, and maps that to 0~(2^32)-1
Digital space in.
In Hash consistency algorithm, by from beginning to end for whole numerals of digital space, the annular forming a Guan Bi is empty
Between.In annular space, from the beginning of first digit 0, along counter clockwise direction ascending numerical, a to the last numeral (2^
32)-1.Therefore, in annular space, first digit is adjacent with last numeral.
According to the cryptographic Hash of timed task ID, timed task ID is mapped in the relevant position of annular space, such as Fig. 4 a institute
Show.
In step s 13, scheduler module calculates the cryptographic Hash of timer module ID, and maps that to above-mentioned annular
In space.
In distributed timing task scheduling system, timer module load performs concrete task scheduling.Each timing
Device module after start-up, all registers timer module ID of oneself on distributed service framework.Therefore, in annular space
Map multiple timer module ID.
In step S14, timed task, by clockwise, is distributed to nearest timer module by scheduler module, as
Shown in Fig. 4 b.
Illustrate that timer module A and B lay respectively at diverse location in annular space in fig. 4b.Timed task A is at ring
In shape space between timer module A and B.Owing to being A by the most nearest timer module, therefore dispatch mould
Timed task A is distributed to timer module A by block.
Then, scheduler module sends time rule to selected timer module, and starts timing.
In the above-described embodiment, the step adding task in distributed timing method for scheduling task is described.
In a preferred embodiment, this distributed timing method for scheduling task also allows for deleting timed task.Deleting
During except timed task, scheduler module inquires about timer module ID being associated in data base according to timed task ID, then adjusts
Terminate this timed task with the deletion interface of timer module, and from annular space, delete corresponding timed task ID.
In another preferred embodiment, this distributed timing method for scheduling task also allows for revising timed task.?
During amendment timed task, scheduler module retains corresponding timed task ID and timer module ID of association in annular space,
The timer module that scheduler module instruction is associated terminates this timed task, the most again when selected timer module sends
Between rule, and restart timing.
Fig. 5 illustrates the flow process redistributing task in distributed timing method for scheduling task according to embodiments of the present invention
Figure.Correspondingly, Fig. 6 a to 6c redistributes task in illustrating distributed timing method for scheduling task according to embodiments of the present invention
The schematic diagram of different step.
In the step s 21, in distributed timing task scheduling, scheduler module is responsible for monitoring the node of timer module ID
Change.
The original state of the node of timer module ID shown in Fig. 6 a.It is fixed to obtain according to Hash consistency algorithm
Time device modules A, B and C and timed task A, B and C position in annular space.Timed task A and B position in annular space
Between timer module A and B, timed task C in annular space between timer module B and C.For timed task
For A and B, owing to being A by the most nearest timer module, therefore timed task A and B is distributed to by scheduler module
Timer module A.For timed task C, owing to being B by the most nearest timer module, therefore dispatch mould
Timed task C is distributed to timer module B by block.
In step S22, when the node of timer module ID changes, distributed service framework produces callback events.Should
The number of nodes of callback events report timer module I D is increased or decreased.The meaning when number of nodes of timer module ID increases
System of increases timer module, and the number of nodes of timer module ID means when reducing artificial expiration timer to appoint
Business, or owing to program mal causes task of timer to terminate.
Change situation that the node of timer module ID increase and reduce is shown respectively in Fig. 6 b and 6c.See Fig. 6 b,
Timer module D is newly-increased node, and the cryptographic Hash of this node ID is inserted between timed task A and B in annular space.Ginseng
Seeing Fig. 6 c, timer module B is the node deleted, and the cryptographic Hash of this node ID initial position in annular space is positioned at timing
Between task B and C.
In step S23, when listening to callback events, no matter the number of nodes increase of timer module ID or subtract
Few, scheduler module redistributes task.
Seeing Fig. 6 b, when the number of nodes of timer module ID increases, scheduler module listens to number of nodes
Change, thus detect that timer module D is newly-increased node.It is fixed that scheduler module can obtain according to Hash consistency algorithm
Time device module D position in annular space.It is fixed that timed task A and C is respectively by the most nearest timer module
Time device modules A and B, do not change compared with the initial positional relationship shown in Fig. 6 a.Timed task B is by the most nearest
Timer module then change, become newly-increased timer module D from initial timer module A.Therefore, scheduler module
Instruction timer module A stop timing task B, and again timed task B is distributed to new timer module D.
Seeing Fig. 6 c, when the number of nodes of timer module ID reduces, scheduler module listens to number of nodes
Change, thus detect timer module B be delete node.Timed task A and B is by the most nearest intervalometer
Module remains as timer module A, does not changes compared with the initial positional relationship shown in Fig. 4 a.Timed task C presses up time
The nearest timer module in clock direction then changes, and becomes timer module A from initial timer module B.Therefore, scheduling
Timed task C is distributed to timer module A by module again.
Distributed timing method for scheduling task according to above-described embodiment, timed task set can be according to certain rule point
Cloth is in different timing device module.Can dynamically increase and decrease timer module at system run duration, and can redistribute calmly
Time task in different timing device module.When timer module increases and decreases, it is ensured that timed task does not has during redistributing
The timed task performed can re-execute after being assigned.This distributed timing method for scheduling task allows dynamically increase and decrease fixed
Time task, therefore by web system, timed task can be managed, as increased, revise, deleting timed task, it is fixed to check
Time task implementation status etc., such that it is able to improve system effectiveness and improve Consumer's Experience.
It is real that the modules of above-mentioned distributed timing task scheduling system or unit can pass through hardware, firmware or software
Existing.Software such as includes the encoding procedure using the various programming languages such as JAVA, C/C++/C#, SQL to be formed.Although method with
And provide the step of the embodiment of the present invention and the order of step in method legend, but described step realizes the logic merit of regulation
The executable instruction of energy can reconfigure, thus generates new step.The order of described step also should not be restricted solely to
Sequence of steps in described method and method legend, can according to function need be adjusted at any time.Such as by therein
Some step is parallel or performs according to reverse order.
System and a method according to the invention can be deployed on single or multiple server.For example, it is possible to by different
Module is disposed on a different server respectively, forms private server.Or, can distributed deployment on multiple servers
Identical functional unit, module or system, to alleviate load pressure.Described server includes but not limited at same LAN
And connected by Internet multiple PCs, PC server, rolling reamer machine, supercomputer etc..
The foregoing is only the preferred embodiments of the present invention, be not limited to the present invention, for those skilled in the art
For, the present invention can have various change and change.All made within spirit and principles of the present invention any amendment, equivalent
Replacement, improvement etc., should be included within the scope of the present invention.
Claims (19)
1. a distributed timing task scheduling system, including:
Scheduler, for carrying out the task distribution of multiple timed task;
Intervalometer, described intervalometer includes multiple timer module, for starting timing according to the distribution of described task;
Executor, the multiple service module of described executor, the plurality of service module is according to the finger of the plurality of timer module
Order, starts or stops, when reaching the time conditions of the plurality of timed task, the service of execution;And
Distributed service framework, is used for supporting described scheduler and described intervalometer distributed deployment and operation,
Wherein, described scheduler dynamically distributes timed task at system run duration.
Distributed timing task scheduling system the most according to claim 1, wherein, described scheduler is according to Hash concordance
The plurality of timed task is distributed to the plurality of timer module by algorithm.
Distributed timing task system the most according to claim 2, wherein, in the situation that the plurality of timed task changes
Under, at least some of timed task in the plurality of timed task is reassigned to the plurality of intervalometer by described scheduler
Module.
Distributed timing task system the most according to claim 3, wherein, the shape of timer module monitored by described scheduler
State, to determine whether the plurality of timed task changes.
Distributed timing task system the most according to claim 2, wherein, described scheduler include master scheduler module and
From Scheduler module, and, described master scheduler module is for the plurality of timed task, and select in described scheduler is corresponding
One Scheduler module distribution timed task.
Distributed timing task system the most according to claim 2, wherein, adopts between described scheduler and described intervalometer
Communicate by sync cap, between described intervalometer and described executor, use Http request to communicate.
Distributed timing task system the most according to claim 2, also includes: web-based management end, and described web-based management end carries
For user interface, it is used for adding, revises, deletes timed task, and for checking the implementation status of timed task.
Distributed timing task system the most according to claim 7, wherein, described web-based management end and described scheduler it
Between use sync cap communicate.
9. according to the distributed timing task system described in claim 6 or 8, wherein, described sync cap is thrift agreement
Interface.
Distributed timing task system the most according to claim 2, also includes data base, is used for storing described scheduler
With the configuration data of described intervalometer and data cached.
11. 1 kinds of distributed timing method for scheduling task, including:
Start multiple service module;
According to distribution timed task request, scheduler distributes multiple timed tasks, wherein, multiple fixed from intervalometer of scheduler
Time device module in select corresponding timer module and transmit Mission Rules Guidelines;
Selected timer module starts timing according to Mission Rules Guidelines;And
When reaching the time conditions of the plurality of timed task, it is described that described selected timer module starts or stops execution
Respective service in multiple service modules,
Wherein, described scheduler and described intervalometer run in a distributed way, and described scheduler is at system run duration
Dynamically distribute timed task.
12. methods according to claim 11, wherein, the step of scheduler distribution timed task includes: according to Hash one
The plurality of timed task is distributed to the plurality of timer module by cause property algorithm.
13. methods according to claim 12, wherein, the step of scheduler distribution timed task includes:
ID according to described timed task generates the first cryptographic Hash;
ID according to the plurality of timer module generates multiple second cryptographic Hash;And
Described first cryptographic Hash and the plurality of second cryptographic Hash are mapped in the annular space of Guan Bi.
14. methods according to claim 13, wherein, for described first cryptographic Hash, according to institute in described annular space
State in multiple second cryptographic Hash and associate corresponding second cryptographic Hash by the mode that clockwise is nearest, according to the first cryptographic Hash and corresponding
The second cryptographic Hash set up the corresponding relation of described timed task and the plurality of timer module, according to described corresponding relation,
Described timed task is distributed to a corresponding timer module in the plurality of timer module by described scheduler.
15. methods according to claim 12, wherein, when described timed task changes, described scheduling is thought highly of
Newly distribute timed task.
16. methods according to claim 15, wherein, the state of timer module monitored by described scheduler, to determine
State whether multiple timed task changes.
17. methods according to claim 12, wherein, use sync cap to enter between described scheduler and described intervalometer
Row communication, uses Http request to communicate between described intervalometer and described executor.
18. methods according to claim 12, wherein, described Mission Rules Guidelines includes that service name and time set bar
Part.
19. methods according to claim 18, wherein, the described time imposes a condition and includes: institute after delay scheduled time
State service once, or described service periodically performs with predetermined time interval.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610483094.1A CN106126332A (en) | 2016-06-27 | 2016-06-27 | Distributed timing task scheduling system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610483094.1A CN106126332A (en) | 2016-06-27 | 2016-06-27 | Distributed timing task scheduling system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106126332A true CN106126332A (en) | 2016-11-16 |
Family
ID=57265695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610483094.1A Pending CN106126332A (en) | 2016-06-27 | 2016-06-27 | Distributed timing task scheduling system and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126332A (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648891A (en) * | 2016-12-09 | 2017-05-10 | 中国联合网络通信集团有限公司 | MapReduce model-based task execution method and apparatus |
CN106874094A (en) * | 2017-02-17 | 2017-06-20 | 广州爱九游信息技术有限公司 | timed task processing method, device and computing device |
CN107092521A (en) * | 2016-12-30 | 2017-08-25 | 北京小度信息科技有限公司 | A kind of distributed task dispatching method, apparatus and system |
CN107092523A (en) * | 2017-04-14 | 2017-08-25 | 浙江数链科技有限公司 | The dispatching method and system of timed task |
CN107181806A (en) * | 2017-05-27 | 2017-09-19 | 北京思特奇信息技术股份有限公司 | A kind of distributed service processing system and method based on dubbo |
CN107402812A (en) * | 2017-05-24 | 2017-11-28 | 阿里巴巴集团控股有限公司 | Cluster resource dispatching method, device, equipment and storage medium |
CN107621975A (en) * | 2017-09-11 | 2018-01-23 | 中邮科通信技术股份有限公司 | Timer logic implementation method based on JAVA TIMER high availability |
CN108108234A (en) * | 2017-12-06 | 2018-06-01 | 链家网(北京)科技有限公司 | A kind of distributed task management method and system |
CN108255592A (en) * | 2017-12-19 | 2018-07-06 | 武汉市烽视威科技有限公司 | A kind of Quartz clusters timing task processing system and method |
CN108287751A (en) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | Task executing method and device, distributed system |
CN108401454A (en) * | 2017-06-30 | 2018-08-14 | 深圳市大疆创新科技有限公司 | Transaction scheduling method, processor, distributed system and unmanned plane |
CN108647083A (en) * | 2018-04-28 | 2018-10-12 | 北京京东金融科技控股有限公司 | Task executing method, device, system, electronic equipment and computer-readable medium |
CN108733459A (en) * | 2017-04-13 | 2018-11-02 | 腾讯科技(深圳)有限公司 | A kind of method of distributed timing, server and system |
CN109144704A (en) * | 2018-09-26 | 2019-01-04 | 浙江万朋教育科技股份有限公司 | A kind of method of Automatic dispatching timed task under distributed environment |
CN109471663A (en) * | 2018-10-30 | 2019-03-15 | 珠海格力智能装备有限公司 | Method and device for executing single chip microcomputer program |
CN109558230A (en) * | 2018-11-23 | 2019-04-02 | 北京百分点信息科技有限公司 | A distributed timing task scheduling system and method |
CN109597681A (en) * | 2018-10-22 | 2019-04-09 | 平安科技(深圳)有限公司 | Cloud control method, device, computer equipment and storage medium |
CN109669775A (en) * | 2018-12-10 | 2019-04-23 | 平安科技(深圳)有限公司 | Distributed task dispatching method, system and storage medium |
CN110489224A (en) * | 2018-05-15 | 2019-11-22 | 北京京东尚科信息技术有限公司 | A kind of method and apparatus of task schedule |
CN110515712A (en) * | 2019-08-09 | 2019-11-29 | 精硕科技(北京)股份有限公司 | Task management method and computer storage medium |
CN110532114A (en) * | 2019-09-04 | 2019-12-03 | 浪潮云信息技术有限公司 | Timing task management system and distribution method based on message queue |
CN110764894A (en) * | 2019-10-24 | 2020-02-07 | 北京锐安科技有限公司 | Timed task management method, device, equipment and storage medium |
CN113220436A (en) * | 2021-05-28 | 2021-08-06 | 工银科技有限公司 | Universal batch operation execution method and device under distributed environment |
CN113760491A (en) * | 2020-10-30 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | Task scheduling system, method, equipment and storage medium |
CN113918339A (en) * | 2021-10-15 | 2022-01-11 | 北京同城必应科技有限公司 | A solution for frequently modifying latency in a distributed cluster |
CN114201279A (en) * | 2021-12-07 | 2022-03-18 | 珠海格力电器股份有限公司 | Timed task management method, device, system, electronic equipment and storage medium |
US11314686B2 (en) | 2019-02-26 | 2022-04-26 | Nxp Usa, Inc. | Hardware for supporting time triggered load anticipation in the context of a real time OS |
WO2022127302A1 (en) * | 2020-12-17 | 2022-06-23 | 中兴通讯股份有限公司 | Timer system and method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873615A (en) * | 2006-01-20 | 2006-12-06 | 华为技术有限公司 | Method for servicing task of timer |
CN101207522A (en) * | 2007-12-18 | 2008-06-25 | 杭州华三通信技术有限公司 | Method and apparatus for implementation of collocation task scheduling |
CN103197969A (en) * | 2013-03-27 | 2013-07-10 | 百度在线网络技术(北京)有限公司 | Distributed timed task control device and method |
CN103533032A (en) * | 2013-09-26 | 2014-01-22 | 北京奇虎科技有限公司 | Bandwidth adjusting device and method |
CN104536809A (en) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | Distributed timing task scheduling system based on client and server system |
CN105100259A (en) * | 2015-08-18 | 2015-11-25 | 北京京东尚科信息技术有限公司 | Distributed timed task execution method and system |
-
2016
- 2016-06-27 CN CN201610483094.1A patent/CN106126332A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873615A (en) * | 2006-01-20 | 2006-12-06 | 华为技术有限公司 | Method for servicing task of timer |
CN101207522A (en) * | 2007-12-18 | 2008-06-25 | 杭州华三通信技术有限公司 | Method and apparatus for implementation of collocation task scheduling |
CN103197969A (en) * | 2013-03-27 | 2013-07-10 | 百度在线网络技术(北京)有限公司 | Distributed timed task control device and method |
CN103533032A (en) * | 2013-09-26 | 2014-01-22 | 北京奇虎科技有限公司 | Bandwidth adjusting device and method |
CN104536809A (en) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | Distributed timing task scheduling system based on client and server system |
CN105100259A (en) * | 2015-08-18 | 2015-11-25 | 北京京东尚科信息技术有限公司 | Distributed timed task execution method and system |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648891A (en) * | 2016-12-09 | 2017-05-10 | 中国联合网络通信集团有限公司 | MapReduce model-based task execution method and apparatus |
CN107092521A (en) * | 2016-12-30 | 2017-08-25 | 北京小度信息科技有限公司 | A kind of distributed task dispatching method, apparatus and system |
CN107092521B (en) * | 2016-12-30 | 2020-11-10 | 北京星选科技有限公司 | Distributed task scheduling method, device and system |
CN108287751A (en) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | Task executing method and device, distributed system |
CN108287751B (en) * | 2017-01-09 | 2022-02-01 | 阿里巴巴集团控股有限公司 | Task execution method and device and distributed system |
CN106874094A (en) * | 2017-02-17 | 2017-06-20 | 广州爱九游信息技术有限公司 | timed task processing method, device and computing device |
CN108733459B (en) * | 2017-04-13 | 2023-07-14 | 腾讯科技(深圳)有限公司 | Distributed timing method, server and system |
CN108733459A (en) * | 2017-04-13 | 2018-11-02 | 腾讯科技(深圳)有限公司 | A kind of method of distributed timing, server and system |
CN107092523A (en) * | 2017-04-14 | 2017-08-25 | 浙江数链科技有限公司 | The dispatching method and system of timed task |
CN107402812A (en) * | 2017-05-24 | 2017-11-28 | 阿里巴巴集团控股有限公司 | Cluster resource dispatching method, device, equipment and storage medium |
CN107181806A (en) * | 2017-05-27 | 2017-09-19 | 北京思特奇信息技术股份有限公司 | A kind of distributed service processing system and method based on dubbo |
CN108401454A (en) * | 2017-06-30 | 2018-08-14 | 深圳市大疆创新科技有限公司 | Transaction scheduling method, processor, distributed system and unmanned plane |
WO2019000398A1 (en) * | 2017-06-30 | 2019-01-03 | 深圳市大疆创新科技有限公司 | Method for scheduling transaction, and processor, distributed system, and unmanned aerial vehicle |
CN108401454B (en) * | 2017-06-30 | 2021-10-22 | 深圳市大疆创新科技有限公司 | Transaction scheduling method, processor, distributed system and unmanned aerial vehicle |
CN107621975A (en) * | 2017-09-11 | 2018-01-23 | 中邮科通信技术股份有限公司 | Timer logic implementation method based on JAVA TIMER high availability |
CN108108234A (en) * | 2017-12-06 | 2018-06-01 | 链家网(北京)科技有限公司 | A kind of distributed task management method and system |
CN108255592A (en) * | 2017-12-19 | 2018-07-06 | 武汉市烽视威科技有限公司 | A kind of Quartz clusters timing task processing system and method |
CN108255592B (en) * | 2017-12-19 | 2020-12-08 | 武汉市烽视威科技有限公司 | Quartz cluster timing task processing system and method |
CN108647083A (en) * | 2018-04-28 | 2018-10-12 | 北京京东金融科技控股有限公司 | Task executing method, device, system, electronic equipment and computer-readable medium |
CN108647083B (en) * | 2018-04-28 | 2020-03-31 | 京东数字科技控股有限公司 | Task execution method, device, system, electronic equipment and computer readable medium |
CN110489224A (en) * | 2018-05-15 | 2019-11-22 | 北京京东尚科信息技术有限公司 | A kind of method and apparatus of task schedule |
CN109144704B (en) * | 2018-09-26 | 2021-04-20 | 浙江万朋教育科技股份有限公司 | Method for automatically scheduling timed tasks in distributed environment |
CN109144704A (en) * | 2018-09-26 | 2019-01-04 | 浙江万朋教育科技股份有限公司 | A kind of method of Automatic dispatching timed task under distributed environment |
CN109597681B (en) * | 2018-10-22 | 2024-05-07 | 平安科技(深圳)有限公司 | Cloud control method and device, computer equipment and storage medium |
CN109597681A (en) * | 2018-10-22 | 2019-04-09 | 平安科技(深圳)有限公司 | Cloud control method, device, computer equipment and storage medium |
CN109471663B (en) * | 2018-10-30 | 2022-04-05 | 珠海格力智能装备有限公司 | Method and device for executing single chip microcomputer program |
CN109471663A (en) * | 2018-10-30 | 2019-03-15 | 珠海格力智能装备有限公司 | Method and device for executing single chip microcomputer program |
CN109558230A (en) * | 2018-11-23 | 2019-04-02 | 北京百分点信息科技有限公司 | A distributed timing task scheduling system and method |
CN109669775A (en) * | 2018-12-10 | 2019-04-23 | 平安科技(深圳)有限公司 | Distributed task dispatching method, system and storage medium |
WO2020119029A1 (en) * | 2018-12-10 | 2020-06-18 | 平安科技(深圳)有限公司 | Distributed task scheduling method and system, and storage medium |
US11314686B2 (en) | 2019-02-26 | 2022-04-26 | Nxp Usa, Inc. | Hardware for supporting time triggered load anticipation in the context of a real time OS |
CN110515712A (en) * | 2019-08-09 | 2019-11-29 | 精硕科技(北京)股份有限公司 | Task management method and computer storage medium |
CN110532114A (en) * | 2019-09-04 | 2019-12-03 | 浪潮云信息技术有限公司 | Timing task management system and distribution method based on message queue |
CN110764894A (en) * | 2019-10-24 | 2020-02-07 | 北京锐安科技有限公司 | Timed task management method, device, equipment and storage medium |
CN113760491A (en) * | 2020-10-30 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | Task scheduling system, method, equipment and storage medium |
WO2022127302A1 (en) * | 2020-12-17 | 2022-06-23 | 中兴通讯股份有限公司 | Timer system and method |
CN113220436A (en) * | 2021-05-28 | 2021-08-06 | 工银科技有限公司 | Universal batch operation execution method and device under distributed environment |
CN113918339A (en) * | 2021-10-15 | 2022-01-11 | 北京同城必应科技有限公司 | A solution for frequently modifying latency in a distributed cluster |
CN114201279A (en) * | 2021-12-07 | 2022-03-18 | 珠海格力电器股份有限公司 | Timed task management method, device, system, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126332A (en) | Distributed timing task scheduling system and method | |
US11294711B2 (en) | Wait a duration timer action and flow engine for building automated flows within a cloud based development platform | |
CN101567013B (en) | Method and apparatus for implementing ETL scheduling | |
CN102291464B (en) | System and method for dynamically generating Web Service by business flow in BPM (Business Process Management) | |
US20100257015A1 (en) | Graphical client interface resource and work management scheduler | |
CN109491776A (en) | Task method of combination and system | |
CN105260248B (en) | A dynamically adjustable task scheduling system and scheduling method | |
CN108432208A (en) | A business arrangement method, device and server | |
CN106406993A (en) | Timed task management method and system | |
CN104838354A (en) | Running agents to execute automation tasks in cloud systems | |
CN103679392A (en) | Task scheduling processing method and system | |
CN104021078A (en) | Software monitoring device and method | |
CN110673938A (en) | Task processing method, system, server and storage medium | |
CN103716397B (en) | A kind of service-oriented simulation clock propulsion method | |
CN113672240A (en) | Container-based multi-machine-room batch automatic deployment application method and system | |
CN106485465A (en) | A kind of configurable timing data synchronous method | |
CN114924858A (en) | Task scheduling method and device, storage medium and electronic equipment | |
CN109309646A (en) | A kind of multi-media transcoding method and system | |
CN103136611A (en) | Digitization generation method for emergency plan | |
CN103024791A (en) | Multi-service processing model and multi-service processing method in communication test system | |
CN106354507A (en) | Enterprise-level application management system and method for operating same | |
CN103902360A (en) | Service scheduling method and timing server | |
US20180027049A1 (en) | Computing system and method of operating the computer system | |
CN106815270B (en) | A kind of method and device of service dynamic management | |
CN110134533A (en) | It is a kind of can lot size scheduling data system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161116 |
|
RJ01 | Rejection of invention patent application after publication |