WO2017133487A1 - 一种任务调度方法、装置和计算机存储介质 - Google Patents

一种任务调度方法、装置和计算机存储介质 Download PDF

Info

Publication number
WO2017133487A1
WO2017133487A1 PCT/CN2017/071901 CN2017071901W WO2017133487A1 WO 2017133487 A1 WO2017133487 A1 WO 2017133487A1 CN 2017071901 W CN2017071901 W CN 2017071901W WO 2017133487 A1 WO2017133487 A1 WO 2017133487A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
job
task
scheduling
working
Prior art date
Application number
PCT/CN2017/071901
Other languages
English (en)
French (fr)
Inventor
孙子荀
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2017133487A1 publication Critical patent/WO2017133487A1/zh

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
    • 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
    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a task scheduling method, apparatus, and computer storage medium.
  • a business machine cluster that is, a terminal device that processes multiple tasks.
  • the business machine cluster may include a request cluster of the front end and a job cluster of the back end, wherein after receiving the plurality of requests, the requesting terminal in the requesting cluster may generate a corresponding number of tasks, assign the generated tasks to the job cluster, and receive the tasks in the job cluster.
  • the job terminal of the task processes the task.
  • the traditional task scheduling method may include a hash (HASH) allocation method and a message queue decoupling method.
  • the HASH allocation method may be specifically: requesting the requesting terminal in the cluster to allocate different tasks to different working terminals in the working cluster by using a preset HASH function, because the preset HASH function is preset, when expanding or reducing the working cluster After the job terminal in the middle, the requesting terminal cannot assign the task to the added job terminal through the preset HASH function or still assign the task to the job terminal that has exited the job cluster, so that the task cannot be scheduled normally, and the reliability of the job scheduling is reduced.
  • the message queue decoupling method may specifically be: requesting the requesting terminal in the cluster to schedule the task to the working terminal in the working cluster through the distributed message queue component, but the performance of the task scheduling is limited by the throughput of the message queue and the network delay, and the same operation The terminal cannot schedule multiple tasks at the same time, and the task scheduling is less effective.
  • Embodiments of the present invention are expected to provide a task scheduling method, apparatus, and computer storage medium, which can improve the effectiveness and reliability of task scheduling.
  • an embodiment of the present invention provides a task scheduling method, where the method includes:
  • the first job terminal acquires task scheduling information of the task to be processed according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first job terminal belongs, and the job terminal that can be used to schedule the task includes the first job terminal ;
  • the first working terminal acquires terminal arrangement information of the first working terminal according to terminal identification information of the working terminal that can be used for scheduling tasks in the job cluster;
  • the first work terminal schedules a task corresponding to task scheduling information that matches the terminal arrangement information.
  • An embodiment of the present invention further provides a task scheduling apparatus, including:
  • the task scheduling information acquiring unit is configured to acquire task scheduling information of the to-be-processed task according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first working terminal belongs, and the job terminal that can be used for scheduling the task includes the first Job terminal
  • the terminal arrangement information acquiring unit is configured to acquire terminal arrangement information of the first working terminal according to terminal identification information of the job terminal that can be used for scheduling tasks in the job cluster;
  • the task scheduling unit is configured to schedule a task corresponding to the task scheduling information that matches the terminal arrangement information.
  • the embodiment of the invention further provides a computer storage medium, wherein the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the task scheduling method according to the embodiment of the invention.
  • the first job terminal acquires task scheduling information of the task to be processed according to the number of job terminals available for scheduling tasks in the job cluster to which the first job terminal belongs, according to the job terminal in the job cluster that can be used for scheduling the task.
  • the terminal identification information acquires the terminal arrangement information of the first working terminal, and schedules a task corresponding to the task scheduling information that matches the terminal arrangement information.
  • the task corresponding to the task scheduling information that matches the terminal arrangement information may include multiple The first working terminal can schedule multiple tasks in parallel to improve the effectiveness of the task scheduling.
  • the first working terminal can update the task scheduling information and the terminal arrangement information, and increase The job terminal can schedule the task, and the job terminal that exits the job cluster cannot schedule the task, which can realize the normal scheduling of the task and improve the reliability of the task scheduling.
  • FIG. 1 is a schematic flowchart of a task scheduling method provided in an embodiment of the present invention.
  • FIG. 2A is a schematic diagram of an interface for task scheduling according to an embodiment of the present invention.
  • 2B is a schematic diagram of a state of a job cluster provided in an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a task scheduling method according to another embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a task scheduling apparatus according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • the above task scheduling method can be run in a tablet, a mobile phone, a personal computer (PC), a notebook computer or a network television terminal.
  • FIG. 1 is a schematic flowchart of a task scheduling method according to an embodiment of the present invention.
  • the task scheduling method in the embodiment of the present invention may include:
  • the first job terminal acquires task scheduling information of the task to be processed according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first job terminal belongs.
  • the job terminal that can be used to schedule a task includes the first job terminal.
  • the first job terminal may acquire task scheduling information of each current to-be-processed task according to the number of job terminals currently available for scheduling tasks in the job cluster to which the first job terminal belongs.
  • the job cluster may include at least one job terminal, and all or part of the at least one job terminal is a job terminal currently available for scheduling tasks, and the first job terminal may be any one of the job terminals currently available for scheduling tasks.
  • the number of job terminals currently available for scheduling tasks in the job cluster is greater than or equal to 1.
  • the task scheduling information is used to identify the current pending task, and the task scheduling information may be a numerical value, such as a natural number such as 0 or 1.
  • task scheduling information of different tasks may be the same or different, and the same task scheduling information may correspond to at least one task.
  • the task to be processed is simply referred to as a task.
  • the first working terminal may obtain the sequence number of the task to be processed, obtain the number of job terminals currently available for scheduling the task in the job cluster, and set the sequence number of the task to be processed to be currently available for scheduling in the job cluster.
  • the number of job terminals of the task is modulo, and the task scheduling information of the task to be processed is obtained.
  • the requesting terminal in the request cluster of the front end may generate a corresponding task (Iobs) and store the task in a preset database.
  • the task status of each task can be state 1 (state 1 indicates DOING state) or state 2 (state 2 indicates DONE state), wherein the DOING state indicates that the task is not scheduled by the job terminal, that is, the task is currently processed, DONE The status indicates that the task has been scheduled by another job terminal.
  • the job terminal schedules a task identification letter that matches the terminal identification information. Before the task corresponding to the information, it may be determined whether the task status of the task corresponding to the task identification information that matches the terminal identification information is a DOING state.
  • the working terminal may schedule the task, and then preset the data.
  • the block can update the status of the task to the DONE state.
  • the preset database may include a Mysql or Redis data block.
  • the preset database can maintain the task routing table, and each task can be written into the task routing table according to the sequence of generating time, and the sequence number is assigned to each task according to the sequence of generating time, and each sequence number can be in an increasing trend, for example, the first The order of the tasks written in the task routing table is 1, the order number of the tasks written in the second task routing table is 2, and so on.
  • the priority of the requesting terminal that generates the foregoing task may be acquired, and the tasks are sorted according to the priority, for example, the maximum ranked serial number in the current task routing table is 2.
  • the first task currently generated by the first requesting terminal and the second task currently generated by the second requesting terminal are generated at the same time, and the priority of the first requesting terminal is higher than the priority of the second requesting terminal, and the first task is allocated.
  • the order number of the arrangement may be 3, and the order number assigned to the second task may be 4.
  • the first task terminal may determine that the task status of the current task to be processed is a DOING state, that is, the second task with the sequence number 2, the third task with the sequence number 3, and the fourth task with the sequence number 4 are currently pending. task.
  • the number of job terminals currently available for scheduling tasks in the job cluster is 3, and the sequence number of the second task is 2, and the first job terminal can perform modulo 2 to 3, and the task scheduling information of the second task is 2;
  • the sequence number of the three tasks is 3, the first working terminal can perform modulo 3 to 3, and the task scheduling information of the third task is 0;
  • the fourth task has a sequence number of 4, and the first working terminal can have 4 pairs of 3
  • the modulo is performed, and the task scheduling information of the fourth task is 1.
  • the task scheduling information of each task is also updated. For example, if the number of job terminals currently available for scheduling tasks in the job cluster is updated to 4, the current pending The task remains unchanged, that is, the second task with sequence number 2, the third task with sequence number 3, and the fourth task with sequence number 4, the first work terminal can perform modulo 2 to 4 to obtain the second task.
  • the task scheduling information of the task is 2; the 3 pairs of 4 are modulo, and the task scheduling information of the third task is 3; the 4 pairs of 4 are modulo, and the task scheduling information of the fourth task is 0.
  • the first working terminal acquires terminal arrangement information of the first working terminal according to the terminal identification information of the working terminal that can be used for scheduling the task in the job cluster.
  • the first working terminal may acquire the terminal arrangement information of the first working terminal according to the terminal identification information of the working terminal currently available for scheduling the task in the job cluster.
  • the terminal identification information may be used to uniquely identify the working terminal, such as an Internet Protocol (IP) address or an International Mobile Equipment Identity (IMEI).
  • IP Internet Protocol
  • IMEI International Mobile Equipment Identity
  • the terminal arrangement information is used to identify the job terminal currently available for scheduling tasks, and the terminal arrangement information may be a numerical value, such as a natural number such as 0 or 1.
  • the terminal arrangement information of different work terminals is different.
  • the first job terminal may acquire terminal identification information of the job terminal currently available for scheduling tasks in the job cluster, and sort the job terminals currently available for scheduling tasks in the job cluster according to the terminal identification information to obtain an operation.
  • the sequence number of the job terminal currently available for scheduling tasks in the cluster, and the sequence number of the first work terminal is used as the terminal arrangement information of the first work terminal.
  • the first working terminal may obtain the IP address of the working terminal and the IP addresses of other working terminals in the job cluster that can be used for scheduling tasks, and the IP address of the working terminal and other each in the job cluster may be used for scheduling tasks.
  • the IP addresses of the job terminals are compared, and the job terminals and other job terminals available for scheduling tasks in the job cluster are sorted according to the IP address in a predetermined order (such as in descending order) to obtain the The arrangement number of each of the work terminals and the work terminals available for scheduling tasks in the work terminal and the work cluster, and the arrangement number of each work terminal is used as the terminal arrangement information of the work terminal.
  • a job cluster It includes three job terminals that can be used to schedule tasks.
  • the IP address of the first job terminal is 192.168.10.3
  • the IP address of the second job terminal is 192.168.10.2
  • the IP address of the third operation terminal is 192.168.22.1.
  • the IP address of the third job terminal is the largest, and the IP address of the second job terminal is the smallest.
  • the sorted job terminals are: the third work terminal, the first work terminal, and the second work terminal, and the third work terminal has the arrangement number of 0.
  • the arrangement number of the first work terminal is 1, and the arrangement number of the second work terminal is 2. Further, it can be determined that the terminal arrangement information of the first work terminal is 1, and the terminal arrangement information of the second work terminal is 2, and the third operation terminal is The terminal arrangement information is 0.
  • each terminal arrangement information is also updated. For example, if the job terminal available for scheduling the task in the job cluster is updated, that is, the job terminal currently available for scheduling the task includes the first work terminal, the third work terminal, and the fourth work terminal, and the IP address of the first work terminal is 192.168.10.3, the IP address of the third working terminal is 192.168.22.1, and the IP address of the fourth working terminal is 192.168.23.1. It can be determined that the IP address of the fourth working terminal is the largest, and the IP address of the first working terminal is the smallest, then the sorting is performed.
  • the subsequent work terminals are: a fourth work terminal, a third work terminal, and a first work terminal, wherein the fourth work terminal has an arrangement number of 0, the third work terminal has an arrangement number of 1, and the first work terminal has an arrangement number of 2 It can be determined that the terminal arrangement information of the first work terminal is 2, the terminal arrangement information of the third work terminal is 1, and the terminal arrangement information of the fourth work terminal is 0.
  • each working terminal that can be used for scheduling tasks in the job cluster may be sorted according to the IP address from small to large, so as to obtain the working terminal of each working terminal.
  • the terminal arrangement information is not limited by the embodiment of the present invention.
  • the first working terminal schedules a task corresponding to task scheduling information that matches the terminal arrangement information.
  • the first working terminal may schedule a task corresponding to the task scheduling information that matches the terminal arrangement information.
  • the first working terminal may schedule at least one task in parallel and process the scheduled at least one task.
  • the task scheduling information of the second task is 2
  • the task scheduling information of the third task is 0,
  • the task scheduling information of the fourth task is 1
  • the terminal arrangement information of the first working terminal is 1, and the terminal of the second working terminal is The arrangement information is 2
  • the terminal arrangement information of the third work terminal is 0, the first work terminal can schedule the fourth task, the second work terminal can schedule the second task, and the third work terminal can schedule the third task.
  • the updated job terminal may be used as a job terminal currently available for scheduling tasks in the job cluster, and then executed. Steps of S101.
  • the first working terminal detects that the job cluster is expanded, and can obtain task scheduling information of each current task to be processed according to the number of job terminals currently available for scheduling tasks in the expanded job cluster, according to the expanded job cluster.
  • the terminal identification information of the job terminal currently available for scheduling the task acquiring the terminal arrangement information of the first working terminal, and scheduling the task corresponding to the task scheduling information that matches the terminal arrangement information of the local end.
  • the task scheduling information of each current task to be processed may be obtained according to the number of job terminals currently available for scheduling tasks in the reduced job cluster, according to the volume reduction
  • the terminal identification information of the job terminal currently available for scheduling the task in the subsequent job cluster acquires the terminal arrangement information of the first work terminal, and schedules the task corresponding to the task scheduling information that matches the terminal arrangement information of the local end.
  • the first working terminal may receive the terminal identification information acquisition request sent by the second working terminal that needs to join the job cluster for the job terminal currently available for scheduling the task in the job cluster, and send each terminal identification information to the first a second working terminal, so that the second working terminal sends a terminal arrangement information update request to the work terminal currently available for scheduling tasks in the job cluster according to the terminal identification information, and the second work terminal receives the work terminal currently available for scheduling the task in the job cluster
  • the feedback terminal arranges the update response information, and receives the second job terminal to send
  • the task scheduling information update request determines that the job terminal currently available for scheduling the task in the job cluster is updated.
  • the first job terminal acquires task scheduling information of each current task to be processed according to the number of job terminals currently available for scheduling tasks in the job cluster to which the first job terminal belongs, and is currently available for scheduling tasks according to the job cluster.
  • the terminal identification information of the work terminal acquires the terminal arrangement information of the first work terminal, and schedules tasks corresponding to the task scheduling information that match the terminal arrangement information, thereby improving the effectiveness and reliability of the task scheduling.
  • FIG. 3 is a schematic flowchart of a task scheduling method according to another embodiment of the present invention.
  • the task scheduling method in the embodiment of the present invention may include:
  • the second working terminal sends a terminal identification information acquisition request to the first working terminal in the job cluster.
  • the terminal identification information acquisition request for the job terminal currently available for scheduling the task in the job cluster may be transmitted to the first job terminal in the job cluster.
  • the first working terminal may be at least one of the working terminals currently available for scheduling tasks in the job cluster, and the first working terminal establishes a communication connection with the second working terminal.
  • the other work terminals in the first work terminal can communicate with the second work terminal to improve the reliability of data processing.
  • the second job terminal wishes to join the job cluster, and the job cluster does not currently include the second job terminal.
  • the state of the work terminal may be the first state (also referred to as ONLINE state), the second state (also referred to as JOINING state), and the third state (may also be It is called WORKING state), the fourth state (also called OFFLINE state), and the fifth state (also called SILENCE state).
  • the ONLINE state indicates that the second working terminal is online and has been approved by the first working terminal in the working cluster.
  • the JOINING state indicates that the second working terminal is ready to join the working cluster, and the WORKING state indicates the second operation.
  • the industry terminal can perform task scheduling.
  • the OFFLINE state indicates that the second working terminal has no communication connection with all the working terminals in the job cluster, and the SILENCE state indicates that the second working terminal is currently unable to perform task scheduling.
  • the link state request (LSR, Link State Request) packet sent by all the working terminals currently available for scheduling tasks in the job cluster is received, and the status of the second working terminal is updated to SILENCE. status.
  • the second job terminal will update to the WORKING state after maintaining the SILENCE state for 12 seconds.
  • the second working terminal When the second working terminal is in the WORKING state, it receives the LSR packet sent by any working terminal in the job cluster, and the state of the second working terminal is updated to the SILENCE state.
  • the HELLO packet (hello packet) sent by all the work terminals in the job cluster is not received, and the state of the second work terminal is updated to the OFFLINE state.
  • HELLO data packets are used for mutual discovery between job terminals in the job cluster.
  • the LSR package is used to notify each job terminal in the job cluster that the task scheduling table needs to be updated, that is, to re-determine the task scheduling information of each current pending task.
  • any working terminal in the job cluster is in the SILENCE state, it receives the LSR packet sent by other working terminals, and triggers the working terminal to reply to an LSR packet.
  • the initial state of the second working terminal is a JOING state
  • the second working terminal may send a terminal identification information obtaining request to the first working terminal that establishes a communication connection with the local end.
  • the terminal identification information obtaining request may be a HELLO packet.
  • the second working terminal may establish a communication connection with the first working terminal, the state of the first working terminal is a WORKING state, and the second working terminal may send a HELLO data packet to the first working terminal.
  • the HELLO data packet may carry the status identification information of the second working terminal.
  • the first working terminal may go to the second working terminal.
  • Retrieving terminal identification information of each job terminal that can be used for scheduling tasks for example, the first job terminal may send the current task schedule to the second job terminal, and the task schedule may include each job terminal in the job cluster. Terminal identification information.
  • the second working terminal receives the terminal identification information of the working terminal that can be used for scheduling the task in the job cluster sent by the first working terminal.
  • the first working terminal may, in response to the terminal identification information obtaining request, feed back, to the second working terminal, terminal identification information of the working terminal currently available for scheduling the task in the working cluster.
  • the first work terminal may send a task schedule to the second work terminal according to the terminal identification information acquisition request.
  • Each job terminal in the job cluster will maintain a task schedule. When the job cluster is updated, each job terminal needs to update the task schedule.
  • the task schedule can look like this:
  • the task scheduling table can be used to know that the terminal identification information of each job terminal that can be used for scheduling tasks is an IP address, and the job terminal with the IP address a is in the WORKING state, and the task scheduling information of the currently processing task is 0; the IP address is b.
  • the job terminal is in the WORKING state, the task scheduling information of the task currently being processed is 1; the job terminal with the IP address c is in the WORKING state, the task scheduling information of the currently processing task is 2; the job terminal with the IP address d is WORKING status, the task scheduling information of the task currently being processed is 3.
  • the second working terminal sends a terminal arrangement information update request to the work terminal that can be used for scheduling the task in the job cluster according to the terminal identification information.
  • the second working terminal may send a terminal arrangement information update request to the job terminal currently available for scheduling the task in the job cluster according to each terminal identification information.
  • the second working terminal may send a HELLO data packet to each working terminal according to the IP address of each working terminal.
  • the second working terminal receives the terminal arrangement update response information fed back by the work terminal that can be used for scheduling the task in the job cluster.
  • the second job terminal may receive the terminal arrangement update response information transmitted by each work terminal.
  • the second working terminal after the second working terminal sends the HELLO data packet to each working terminal according to the terminal identification information, the second working terminal can receive the HELLO data packet replied by each working terminal, and the state of the second working terminal is updated to the ONLINE state.
  • Each job terminal in the job cluster can update the task schedule, and the updated task schedule can be:
  • the working terminal with the IP address e is the second working terminal, the state of the second working terminal is the ONLINE state, and the N/A indicates that the second working terminal is not currently performing task scheduling.
  • the second working terminal sends a task scheduling information update request to the job terminal in the job cluster that can be used to schedule the task.
  • the task scheduling information update request may be an LSR package.
  • the second working terminal receives the HELLO data packet sent by the working terminal currently available for scheduling the task in the job cluster
  • the status of the second working terminal is updated to the ONLINE state, and further can be used to the working terminal currently available for scheduling the task in the job cluster.
  • the job terminal currently in the WORKING state that can be used for scheduling tasks can update the state to the SILENCE state after receiving the LSR packet.
  • each working terminal may reply the LSR package to the second working terminal.
  • the second working terminal When the second working terminal is in the ONLINE state, it receives the LSR package sent by all the working terminals in the working cluster, and can update the status to the SILENCE state. Each job terminal in the SILENCE state cannot schedule a new task, and each job terminal can wait for the current job. The task scheduling information of the task is updated.
  • the second working terminal acquires task scheduling information of each current to-be-processed task according to the number of job terminals that can be used for scheduling tasks in the job cluster.
  • the number of job terminals currently available for scheduling tasks in the job cluster is 5, and the current task to be processed includes a second task with a sequence number of 2, a third task with a sequence number of 3, and a fourth task with a sequence number of 4.
  • the second working terminal may perform modulo 2 to 5, and obtain task scheduling information of the second task is 2; modulo 3 pairs of 5 to obtain task scheduling information of the third task is 3; and modulo 4 pairs of 5
  • the task scheduling information of the fourth task is 4.
  • the second working terminal acquires terminal arrangement information of the second working terminal according to terminal identification information of the working terminal that can be used for scheduling the task in the job cluster.
  • the second working terminal may acquire the IP address of the working terminal and the IP address of each other working terminal in the job cluster that can be used for scheduling tasks, and the IP address of the working terminal and other operations in the job cluster that can be used for scheduling tasks.
  • the IP addresses of the terminals are compared, and the job terminals and other job terminals available for scheduling tasks in the job cluster are sorted according to the IP address in a predetermined order (such as in descending order) to obtain the working terminal.
  • the arrangement number of each of the other work terminals available for scheduling tasks in the work cluster, and the arrangement number of each work terminal is used as the terminal arrangement information of the work terminal.
  • the task scheduling table may be updated.
  • the second work terminal schedules a task corresponding to the task scheduling information that matches the terminal arrangement information of the second work terminal.
  • the second working terminal After the second working terminal is in the SILENCE state start interval of 12 seconds, it can be updated to the WORKING state, and then the task corresponding to the task scheduling information matching the terminal arrangement information of the second working terminal is scheduled.
  • the SILENCE status is updated to WORKING.
  • the time interval of the state is set to 12s, which ensures the consistency of the task schedule maintained by different job terminals, and ensures that the delay of the task processing tasks in the job cluster is small.
  • the job terminal in the job cluster when the job terminal in the job cluster does not receive the HELLO packet sent by the other job terminal within the period of 4 HELLO packets, the job terminal will exit the job cluster.
  • the LSR package or the HELLO data packet may be actively sent to other work terminals.
  • the working terminal when the working terminal is in the SILENCE state, it receives the LSR packet or the HELLO packet sent by other terminals, and can feed back the LSR packet to other terminals.
  • the work terminal may actively send HELLO data packets to other work terminals when the HELLO data packets sent by other work terminals are not received within the period of two HELLO data packets.
  • the second working terminal sends a terminal identification information acquisition request to the first working terminal in the job cluster, and receives the terminal identification information of the working terminal currently available for scheduling the task in the job cluster sent by the first working terminal, according to
  • the terminal identification information is sent to the job terminal currently available for scheduling the task in the job cluster to send a terminal arrangement information update request, and the terminal arrangement update response information fed back by the work terminal currently available for scheduling the task in the job cluster is currently available to the job cluster.
  • the job terminal that schedules the task sends the task scheduling information update request, and obtains the task scheduling information of each current task to be processed according to the number of job terminals currently available for scheduling the task in the job cluster, thereby improving the effectiveness and reliability of the task scheduling.
  • FIG. 4 is a schematic structural diagram of a task scheduling apparatus according to an embodiment of the present invention.
  • the task scheduling apparatus in the embodiment of the present invention may include a tablet computer, a mobile phone, a personal computer, a notebook computer, an in-vehicle device, and a network.
  • a terminal such as a television, as shown in the figure, the task scheduling apparatus in the embodiment may include at least a task scheduling information acquiring unit 401, a terminal arrangement information acquiring unit 402, and a task scheduling unit 403, wherein:
  • the task scheduling information obtaining unit 401 is configured to acquire task scheduling information of the task to be processed according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first working terminal belongs, and the job terminal that can be used for scheduling the task includes the first job. terminal.
  • the terminal arrangement information acquiring unit 402 is configured to acquire terminal arrangement information of the first work terminal according to the terminal identification information of the work terminal that can be used for scheduling the task in the job cluster.
  • the task scheduling unit 403 is configured to schedule a task corresponding to the task scheduling information that matches the terminal arrangement information.
  • the task scheduling information obtaining unit 401 is specifically configured to:
  • the sequence number of the task to be processed is modulo the number of job terminals currently available for scheduling tasks in the job cluster, and the task scheduling information of the task to be processed is obtained.
  • the terminal arrangement information obtaining unit 402 is configured to:
  • the arrangement number corresponding to the first work terminal is determined as the terminal arrangement information of the first work terminal.
  • the task scheduling apparatus in the embodiment of the present invention may further include:
  • the job terminal determining unit 404 is configured to detect that the job terminal available for scheduling the task in the job cluster is updated, and use the updated job terminal as the job terminal in the job cluster that can be used for scheduling the task, and trigger the task scheduling information acquiring unit. 401: Obtain task scheduling information of the to-be-processed task according to the number of job terminals that can be used for scheduling tasks in the job cluster.
  • the work terminal determining unit 404 is configured to:
  • Receiving a second job terminal that needs to join the job cluster is available for the job cluster.
  • the second working terminal Sending the terminal identification information to the second working terminal, so that the second working terminal sends a terminal arrangement information update request to the work terminal available for scheduling tasks in the job cluster according to the terminal identification information, the second working terminal Receiving, by the job terminal in the job cluster, the terminal arrangement update response information fed back by the work terminal;
  • the task scheduling information acquiring unit 401 acquires task scheduling information of a task to be processed according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first working terminal belongs, and the terminal arrangement information acquiring unit 402. Acquiring the terminal arrangement information of the first working terminal according to the terminal identification information of the working terminal that can be used for scheduling the task in the job cluster, and the task scheduling unit 403 scheduling the task corresponding to the task scheduling information that matches the terminal arrangement information, which can be improved. The effectiveness and reliability of task scheduling.
  • FIG. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • the terminal provided by the embodiment of the present invention may be used to implement the method implemented in the foregoing embodiment of the present invention shown in FIG. 1 or FIG.
  • FIG. 1 or FIG. 1 For ease of description, only parts related to the embodiments of the present invention are shown. Without specific details, please refer to the embodiment of the present invention shown in FIG. 1 or FIG.
  • the terminal includes at least one processor 501, such as a CPU, at least one input device 503, at least one output device 504, a memory 505, and at least one communication bus 502.
  • the communication bus 502 is used to implement connection communication between these components.
  • the input device 503 may specifically be a network interface for communicating with an external network.
  • the output device 504 may specifically be a network interface for communicating with an external network.
  • the memory 505 may include a high speed RAM memory, and may also include a non-unstable memory, such as at least one disk memory, specifically for storing tasks, task identification information, and terminal identification information.
  • the memory 505 can optionally include at least one storage device located remotely from the aforementioned processor 501.
  • the processor 501 can be combined with the task scheduling device shown in FIG.
  • a set of program codes is stored in the memory 505, and the processor 501 calls the program code stored in the memory 505 for performing the following operations:
  • the processor 501 is configured to acquire task scheduling information of the task to be processed according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first job terminal belongs, and the job terminal that can be used for scheduling the task includes the first job terminal.
  • the processor 501 is configured to acquire terminal arrangement information of the first work terminal according to terminal identification information of the work terminal that can be used for scheduling tasks in the job cluster.
  • the input device 503 is configured to schedule a task corresponding to the task scheduling information that matches the terminal arrangement information.
  • the processor 501 is configured to:
  • the processor 501 is configured to:
  • the arrangement number corresponding to the first work terminal is used as the terminal arrangement information of the first work terminal.
  • the processor 501 is further configured to:
  • the updated job terminal is used as a job terminal in the job cluster that can be used for scheduling tasks.
  • the step of acquiring task scheduling information of the task to be processed according to the number of job terminals available for scheduling tasks in the job cluster is performed.
  • the processor 501 is configured to:
  • the second working terminal sends a terminal arrangement information update request to the job terminal in the job cluster that can be used for scheduling the task according to the terminal identification information
  • the second The job terminal receives the terminal arrangement update response information fed back by the work terminal that can be used for scheduling the task in the job cluster;
  • terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiment introduced in conjunction with FIG. 1 or FIG.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner such as: multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored or not executed.
  • the coupling, or direct coupling, or communication connection of the components shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may be electrical, mechanical or other forms. of.
  • the units described above as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units, that is, may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be separately used as one unit, or two or more units may be integrated into one unit;
  • the unit can be implemented in the form of hardware or It is implemented in the form of hardware plus software functional units.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing storage device includes the following steps: the foregoing storage medium includes: a mobile storage device, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
  • ROM read-only memory
  • RAM random access memory
  • magnetic disk or an optical disk.
  • optical disk A medium that can store program code.
  • the above-described integrated unit of the present invention may be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as a standalone product.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a mobile storage device, a ROM, a RAM, a magnetic disk, or an optical disk.
  • the technical solution of the embodiment of the present invention acquires task scheduling information of a task to be processed according to the number of job terminals that can be used for scheduling tasks in the job cluster to which the first job terminal belongs, according to the job that can be used for scheduling tasks in the job cluster.
  • the terminal identification information of the terminal acquires the terminal arrangement information of the first working terminal, and schedules a task corresponding to the task scheduling information that matches the terminal arrangement information.
  • the task corresponding to the task scheduling information that matches the terminal arrangement information may be If the plurality of tasks are included, the first working terminal may schedule multiple tasks in parallel to improve the effectiveness of the task scheduling.
  • the job cluster performs the expansion or the volume reduction, the first working terminal may perform task scheduling information and terminal arrangement information.
  • the update is performed, the added job terminal can schedule the task, and the job terminal that exits the job cluster cannot schedule the task, which can realize the normal scheduling of the task and improve the reliability of the task scheduling.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种任务调度方法、装置和计算机存储介质,所述方法包括:第一作业终端根据所述第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息(S101),所述可用于调度任务的作业终端包括所述第一作业终端;所述第一作业终端根据所述作业集群中所述可用于调度任务的作业终端的终端标识信息,获取所述第一作业终端的终端排列信息(S102);所述第一作业终端调度与所述终端排列信息匹配的任务调度信息对应的任务(S103)。

Description

一种任务调度方法、装置和计算机存储介质 技术领域
本发明涉及通信技术领域,尤其涉及一种任务调度方法、装置和计算机存储介质。
背景技术
业务机集群,即多个处理任务的终端设备。业务机集群可以包括前端的请求集群和后端的作业集群,其中请求集群中的请求终端接收到多个请求之后,可以生成对应数量的任务,将生成的任务分配给作业集群,作业集群中接收到任务的作业终端对该任务进行处理。
传统的任务调度方法可以包括哈希(HASH)分配方法和消息队列解耦方法。其中,HASH分配方法具体可以为:请求集群中的请求终端通过预设HASH函数将不同任务分配给作业集群中的不同作业终端,由于预设HASH函数是预先设定的,当扩容或者缩减作业集群中的作业终端之后,请求终端通过预设HASH函数无法将任务分配给增加的作业终端或者仍然将任务分配给已退出作业集群的作业终端,导致任务无法正常调度,降低作业调度的可靠性。消息队列解耦方法具体可以为:请求集群中的请求终端通过分布式消息队列组件将任务调度给作业集群中的作业终端,但是任务调度的性能受限于消息队列的吞吐与网络延迟,同一作业终端无法同时调度多个任务,任务调度的有效性较低。
发明内容
本发明实施例期望提供一种任务调度方法、装置和计算机存储介质,可提高任务调度的有效性和可靠性。
为了解决上述技术问题,本发明实施例提供了一种任务调度方法,所述方法包括:
第一作业终端根据所述第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述可用于调度任务的作业终端包括所述第一作业终端;
所述第一作业终端根据所述作业集群中所述可用于调度任务的作业终端的终端标识信息,获取所述第一作业终端的终端排列信息;
所述第一作业终端调度与所述终端排列信息匹配的任务调度信息对应的任务。
本发明实施例还提供了一种任务调度装置,包括:
任务调度信息获取单元,配置为根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述可用于调度任务的作业终端包括所述第一作业终端;
终端排列信息获取单元,配置为根据所述作业集群中所述可用于调度任务的作业终端的终端标识信息,获取所述第一作业终端的终端排列信息;
任务调度单元,配置为调度与所述终端排列信息匹配的任务调度信息对应的任务。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行本发明实施例所述的任务调度方法。
实施本发明实施例,第一作业终端根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,根据作业集群中可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息,调度与终端排列信息匹配的任务调度信息对应的任务。其中,与终端排列信息匹配的任务调度信息对应的任务可以包括多个, 则第一作业终端可并行调度多个任务,提高任务调度的有效性;另外,当作业集群进行扩容或缩容等更新时,第一作业终端可对任务调度信息和终端排列信息进行更新,增加的作业终端可调度任务,退出作业集群的作业终端无法调度任务,可实现任务的正常调度,提高任务调度的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中提供的一种任务调度方法的流程示意图;
图2A是本发明实施例中提供的一种任务调度的界面示意图;
图2B是本发明实施例中提供的一种作业集群的状态示意图;
图3是本发明另一实施例中提供的一种任务调度方法的流程示意图;
图4是本发明实施例中提供的一种任务调度装置的流程示意图;
图5是本发明实施例中提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
上述任务调度方法可以运行在平板电脑、手机、个人计算机(Personal Computer,PC)、笔记本电脑或网络电视等终端中。
请参见图1,图1是本发明实施例中的一种任务调度方法的流程示意图,如图所示本发明实施例中的任务调度方法可以包括:
S101,第一作业终端根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息。其中,所述可用于调度任务的作业终端包括所述第一作业终端。
第一作业终端可以根据第一作业终端所属作业集群中当前可用于调度任务的作业终端的数量,获取各个当前待处理任务的任务调度信息。其中,作业集群可以包括至少一个作业终端,至少一个作业终端中的所有或者部分作业终端为当前可用于调度任务的作业终端,第一作业终端可以为当前可用于调度任务的作业终端中的任一作业终端。作业集群中当前可用于调度任务的作业终端的数量大于或者等于1。任务调度信息用于标识当前待处理任务,任务调度信息可以为数值,例如0或者1等自然数。作为一种实施方式,不同任务的任务调度信息可以相同,也可以不相同,同一任务调度信息可以对应至少一个任务。在本实施例及以下各实施例的描述中,待处理任务简称为任务。
在一种实施例中,第一作业终端可以获取待处理任务的排列序号,获取作业集群中当前可用于调度任务的作业终端的数量,将待处理任务的排列序号对作业集群中当前可用于调度任务的作业终端的数量进行取模,得到待处理任务的任务调度信息。
以图2A所示的任务调度的界面示意图为例,前端的请求集群中的请求终端接收到请求之后,可以生成对应的任务(Iobs),并将任务存储到预设数据库中。各个任务的任务状态可以为状态1(状态1表示DOING状态)或者状态2(状态2表示DONE状态),其中,DOING状态表明该任务未被作业终端调度,即该任务是当前需要处理的,DONE状态表明该任务已被其他作业终端调度。则作业终端调度与终端标识信息匹配的任务标识信 息对应的任务之前,可以判断与终端标识信息匹配的任务标识信息对应的任务的任务状态是否为DOING状态,当该任务的任务状态为DOING状态时,作业终端可以调度该任务,进而预设数据块可以将该任务的状态更新为DONE状态。其中,预设数据库可以包括Mysql或者Redis数据块等。预设数据库可以维护任务路由表,各个任务可以按照生成时间的先后顺序写入任务路由表中,并按照生成时间的先后顺序对各个任务分配排列序号,各个排列序号可以呈递增趋势,例如第一个写入任务路由表中的任务的排列序号为1,第二个写入任务路由表中的任务的排列序号为2,等等。作为一种实施方式,当存在多个任务的生成时间相同时,可以获取生成上述任务的请求终端的优先级,根据优先级对上述任务进行排序,例如当前任务路由表中的最大排列序号为2,第一请求终端当前生成的第一任务和第二请求终端当前生成的第二任务的生成时间相同,第一请求终端的优先级高于第二请求终端的优先级,则对第一任务分配的排列序号可以为3,对第二任务分配的排列序号可以为4。
其中,第一作业终端可以确定当前待处理任务的任务状态为DOING状态,即排列序号为2的第二任务、排列序号为3的第三任务以及排列序号为4的第四任务为当前待处理任务。作业集群中当前可用于调度任务的作业终端的数量为3,第二任务的排列序号为2,第一作业终端可以将2对3进行取模,得到第二任务的任务调度信息为2;第三任务的排列序号为3,第一作业终端可以将3对3进行取模,得到第三任务的任务调度信息为0;第四任务的排列序号为4,第一作业终端可以将4对3进行取模,得到第四任务的任务调度信息为1。
作为一种实施方式,如果作业集群中当前可用于调度任务的作业终端的数量进行了更新,则各个任务的任务调度信息也会进行更新。例如,如果作业集群中当前可用于调度任务的作业终端的数量更新为4,当前待处理 任务保持不变,即排列序号为2的第二任务、排列序号为3的第三任务以及排列序号为4的第四任务,则第一作业终端可以将2对4进行取模,得到第二任务的任务调度信息为2;将3对4进行取模,得到第三任务的任务调度信息为3;将4对4进行取模,得到第四任务的任务调度信息为0。
S102,第一作业终端根据作业集群中所述可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息。
第一作业终端可以根据作业集群中当前可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息。其中,终端标识信息可以用于唯一标识作业终端,例如网络之间互连的协议(Internet Protocol,IP)地址或者国际移动设备身份标识(International Mobile Equipment Identity,IMEI)等。终端排列信息用于标识当前可用于调度任务的作业终端,终端排列信息可以为数值,例如0或者1等自然数。作为一种实施方式,不同作业终端的终端排列信息各不相同。
在一种实施例中,第一作业终端可以获取作业集群中当前可用于调度任务的作业终端的终端标识信息,根据终端标识信息对作业集群中当前可用于调度任务的作业终端进行排序,得到作业集群中当前可用于调度任务的作业终端的排列序号,将第一作业终端的排列序号作为第一作业终端的终端排列信息。
具体实现中,第一作业终端可以获取本作业终端的IP地址以及作业集群中其它各个可用于调度任务的作业终端的IP地址,将本作业终端的IP地址以及作业集群中其它各个可用于调度任务的作业终端的IP地址进行比较,按照IP地址以预设的某种顺序(如从大到小的顺序)对本作业终端和作业集群中其它各个可用于调度任务的作业终端进行排序,以得到本作业终端和作业集群中其它各个可用于调度任务的作业终端的排列序号,将各个作业终端的排列序号作为该作业终端的终端排列信息。例如,作业集群 包括三个可用于调度任务的作业终端,第一作业终端的IP地址为192.168.10.3,第二作业终端的IP地址为192.168.10.2,第三作业终端的IP地址为192.168.22.1,可以确定第三作业终端的IP地址最大,第二作业终端的IP地址最小,则排序后的作业终端为:第三作业终端、第一作业终端以及第二作业终端,第三作业终端的排列序号为0,第一作业终端的排列序号为1,第二作业终端的排列序号为2,进而可以确定第一作业终端的终端排列信息为1,第二作业终端的终端排列信息为2,第三作业终端的终端排列信息为0。
作为一种实施方式,如果作业集群中当前可用于调度任务的作业终端进行了更新,则各个终端排列信息也会进行更新。例如,如果作业集群中可用于调度任务的作业终端进行了更新,即当前可用于调度任务的作业终端包括第一作业终端、第三作业终端以及第四作业终端,第一作业终端的IP地址为192.168.10.3,第三作业终端的IP地址为192.168.22.1,第四作业终端的IP地址为192.168.23.1,可以确定第四作业终端的IP地址最大,第一作业终端的IP地址最小,则排序后的作业终端为:第四作业终端、第三作业终端以及第一作业终端,第四作业终端的排列序号为0,第三作业终端的排列序号为1,第一作业终端的排列序号为2,可以确定第一作业终端的终端排列信息为2,第三作业终端的终端排列信息为1,第四作业终端的终端排列信息为0。
需要指出的是,终端排列信息的确定方式包含但不局限于上述方法,例如可以按照IP地址从小到大的顺序对作业集群中各个可用于调度任务的作业终端进行排序,以得到各个作业终端的终端排列信息,具体不受本发明实施例的限制。
S103,第一作业终端调度与终端排列信息匹配的任务调度信息对应的任务。
第一作业终端可以调度与终端排列信息匹配的任务调度信息对应的任务。具体实现中,第一作业终端可以并行调度至少一个任务,并对调度的至少一个任务进行处理。例如,第二任务的任务调度信息为2,第三任务的任务调度信息为0,第四任务的任务调度信息为1,且第一作业终端的终端排列信息为1,第二作业终端的终端排列信息为2,第三作业终端的终端排列信息为0,则第一作业终端可以调度第四任务,第二作业终端可以调度第二任务,第三作业终端可以调度第三任务。
在一种实施例中,第一作业终端检测到作业集群中当前可用于调度任务的作业终端进行更新时,可以将更新后的作业终端作为作业集群中当前可用于调度任务的作业终端,进而执行S101的步骤。例如,第一作业终端检测到作业集群进行了扩容,可以根据扩容后的作业集群中当前可用于调度任务的作业终端的数量,获取各个当前待处理任务的任务调度信息,根据扩容后的作业集群中当前可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息,调度与本端的终端排列信息匹配的任务调度信息对应的任务。又如,第一作业终端检测到作业集群进行了缩容,可以根据缩容后的作业集群中当前可用于调度任务的作业终端的数量,获取各个当前待处理任务的任务调度信息,根据缩容后的作业集群中当前可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息,调度与本端的终端排列信息匹配的任务调度信息对应的任务。
作为一种实施方式,第一作业终端可以接收需要加入作业集群的第二作业终端发送的针对作业集群中当前可用于调度任务的作业终端的终端标识信息获取请求,将各个终端标识信息发送给第二作业终端,以使第二作业终端根据终端标识信息,向作业集群中当前可用于调度任务的作业终端发送终端排列信息更新请求,第二作业终端接收作业集群中当前可用于调度任务的作业终端反馈的终端排列更新响应信息,接收第二作业终端发送 的任务调度信息更新请求,确定作业集群中当前可用于调度任务的作业终端更新完毕。
本发明实施例中,第一作业终端根据第一作业终端所属作业集群中当前可用于调度任务的作业终端的数量,获取各个当前待处理任务的任务调度信息,根据作业集群中当前可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息,调度与终端排列信息匹配的任务调度信息对应的任务,可提高任务调度的有效性和可靠性。
请参见图3,图3是本发明另一实施例中的一种任务调度方法的流程示意图,如图所示本发明实施例中的任务调度方法可以包括:
S301,第二作业终端向作业集群中的第一作业终端发送终端标识信息获取请求。
第二作业终端需要加入第一作业终端所属的作业集群时,可以向作业集群中的第一作业终端发送针对作业集群中当前可用于调度任务的作业终端的终端标识信息获取请求。其中,第一作业终端可以为作业集群中当前可用于调度任务的作业终端中的至少一个作业终端,且第一作业终端与第二作业终端建立通信连接。当第一作业终端中的一个作业终端出现故障导致不能与第二作业终端通信时,第一作业终端中的其他作业终端可以与第二作业终端通信,提高数据处理的可靠性。第二作业终端希望加入该作业集群中,且该作业集群当前不包括第二作业终端。
以图2B所示的作业集群的状态图为例,作业终端的状态可以为第一状态(也可以称为ONLINE状态),第二状态(也可以称为JOINING状态),第三状态(也可以称为WORKING状态),第四状态(也可以称为OFFLINE状态)以及第五状态(也可以称为SILENCE状态)。其中ONLINE状态表明第二作业终端在线,并已被作业集群中的第一作业终端认可,JOINING状态表明第二作业终端准备加入作业集群中,WORKING状态表明第二作 业终端可进行任务调度,OFFLINE状态表明第二作业终端与作业集群中的所有作业终端都没有通信连接,SILENCE状态表明第二作业终端当前不可进行任务调度。进一步的,第二作业终端处于ONLINE状态时接收到作业集群中所有当前可用于调度任务的作业终端发送的链路状态请求(LSR,Link State Request)包,第二作业终端的状态将更新为SILENCE状态。第二作业终端保持SILENCE状态12s之后将更新为WORKING状态。第二作业终端处于WORKING状态时接收到作业集群中任一作业终端发送的LSR包,第二作业终端的状态将更新为SILENCE状态。第二作业终端处于WORKING状态时未接收到作业集群中所有作业终端发送的HELLO数据包(hello packet),第二作业终端的状态将更新为OFFLINE状态。
其中,HELLO数据包用于作业集群中各个作业终端之间的相互发现。LSR包用于告知作业集群中的各个作业终端需要更新任务调度表,即重新确定各个当前待处理任务的任务调度信息。作业集群中任一作业终端处于SILENCE状态时接收到其他作业终端发送的LSR包,将触发该作业终端回复一个LSR包。
具体实现中,当第二作业终端需要加入作业集群中时,第二作业终端的初始状态为JOING状态,第二作业终端可以向与本端建立通信连接的第一作业终端发送终端标识信息获取请求。终端标识信息获取请求可以为HELLO包,例如第二作业终端可以与第一作业终端建立通信连接,第一作业终端的状态为WORKING状态,第二作业终端可以向第一作业终端发送HELLO数据包,该HELLO数据包可以携带第二作业终端的状态标识信息,第一作业终端根据第二作业终端的状态标识信息确定第二作业终端的状态为JOING状态时,第一作业终端可以向第二作业终端反馈各个可用于调度任务的作业终端的终端标识信息,例如第一作业终端可以将当前的任务调度表发送给第二作业终端,任务调度表可以包括作业集群中各个作业终端 的终端标识信息。
S302,第二作业终端接收第一作业终端发送的作业集群中可用于调度任务的作业终端的终端标识信息。
第一作业终端接收到终端标识信息获取请求之后,可以响应该终端标识信息获取请求,向第二作业终端反馈作业集群中当前可用于调度任务的作业终端的终端标识信息。例如,第一作业终端可以根据终端标识信息获取请求,向第二作业终端发送任务调度表。作业集群中的各个作业终端将维护任务调度表,当作业集群更新时,各个作业终端需要更新任务调度表。任务调度表可以如下所示:
[{NAME:IP a};{status:WORKING};{MOD:0}];
[{NAME:IP b};{status:WORKING};{MOD:1}];
[{NAME:IP c};{status:WORKING};{MOD:2}];
[{NAME:IP d};{status:WORKING};{MOD:3}]。
通过任务调度表可以知悉,各个可用于调度任务的作业终端的终端标识信息为IP地址,IP地址为a的作业终端处于WORKING状态,当前正在处理的任务的任务调度信息为0;IP地址为b的作业终端处于WORKING状态,当前正在处理的任务的任务调度信息为1;IP地址为c的作业终端处于WORKING状态,当前正在处理的任务的任务调度信息为2;IP地址为d的作业终端处于WORKING状态,当前正在处理的任务的任务调度信息为3。
S303,第二作业终端根据终端标识信息,向作业集群中可用于调度任务的作业终端发送终端排列信息更新请求。
第二作业终端可以根据各个终端标识信息,向作业集群中当前可用于调度任务的作业终端发送终端排列信息更新请求。具体实现中,第二作业终端可以根据各个作业终端的IP地址,向各个作业终端发送HELLO数据包。
S304,第二作业终端接收作业集群中可用于调度任务的作业终端反馈的终端排列更新响应信息。
第二作业终端向作业集群中当前可用于调度任务的作业终端发送终端排列信息更新请求之后,可以接收各个作业终端发送的终端排列更新响应信息。具体实现中,第二作业终端根据终端标识信息向各个作业终端发送HELLO数据包之后,可以接收各个作业终端回复的HELLO数据包,进而第二作业终端的状态更新为ONLINE状态。作业集群中各个作业终端可以对任务调度表进行更新,更新后的任务调度表可以为:
[{NAME:IP a};{status:WORKING};{MOD:0}];
[{NAME:IP b};{status:WORKING};{MOD:1}];
[{NAME:IP c};{status:WORKING};{MOD:2}];
[{NAME:IP d};{status:WORKING};{MOD:3}];
[{NAME:IP e};{status:ONLINE};{MOD:N/A}]。
其中,IP地址为e的作业终端为第二作业终端,第二作业终端的状态为ONLINE状态,N/A表明第二作业终端当前未进行任务调度。
S305,第二作业终端向作业集群中可用于调度任务的作业终端发送任务调度信息更新请求。
具体实现中,任务调度信息更新请求可以为LSR包。例如,第二作业终端接收作业集群中当前可用于调度任务的作业终端发送的HELLO数据包之后,第二作业终端的状态更新为ONLINE状态,进而可以向作业集群中当前可用于调度任务的作业终端发送LSR包,处于WORKING状态的当前可用于调度任务的作业终端接收到LSR包之后,可以将状态更新为SILENCE状态。各个作业终端接收到LSR包之后,可以向第二作业终端回复LSR包,第二作业终端处于ONLINE状态时接收到作业集群中的所有作业终端发送的LSR包,可以将状态更新为SILENCE状态,处于SILENCE状态的各个作业终端无法调度新的任务,则各个作业终端可以对当前待处 理任务的任务调度信息进行更新。
S306,第二作业终端根据作业集群中可用于调度任务的作业终端的数量,获取各个当前待处理任务的任务调度信息。
例如,作业集群中当前可用于调度任务的作业终端的数量为5,当前待处理任务包括排列序号为2的第二任务、排列序号为3的第三任务以及排列序号为4的第四任务,第二作业终端可以将2对5进行取模,得到第二任务的任务调度信息为2;将3对5进行取模,得到第三任务的任务调度信息为3;将4对5进行取模,得到第四任务的任务调度信息为4。
S307,第二作业终端根据作业集群中可用于调度任务的作业终端的终端标识信息,获取第二作业终端的终端排列信息。
例如,第二作业终端可以获取本作业终端的IP地址以及作业集群中其它各个可用于调度任务的作业终端的IP地址,将本作业终端的IP地址以及作业集群中其它各个可用于调度任务的作业终端的IP地址进行比较,按照IP地址以预设的某种顺序(如从大到小的顺序)对本作业终端和作业集群中其它各个可用于调度任务的作业终端进行排序,以得到本作业终端和作业集群中其它各个可用于调度任务的作业终端的排列序号,将各个作业终端的排列序号作为该作业终端的终端排列信息。
具体实现中,第二作业终端获取当前待处理任务的任务调度信息,以及作业集群中当前可用于调度任务的作业终端的终端标识信息之后,可以对任务调度表进行更新。
S308,第二作业终端调度与第二作业终端的终端排列信息匹配的任务调度信息对应的任务。
第二作业终端处于SILENCE状态开始间隔12s之后,可以更新为WORKING状态,进而调度与第二作业终端的终端排列信息匹配的任务调度信息对应的任务。本发明实施例中由SILENCE状态更新为WORKING 状态的时间间隔设定为12s,可确保不同作业终端维护的任务调度表的收敛一致性,同时确保作业集群中作业终端处理任务的时延较小。
在一种实施例中,当作业集群中的作业终端在4个HELLO数据包的周期内未接收到其他作业终端发送的HELLO数据包时,该作业终端将退出该作业集群。
在一种实施例中,作业终端处于SILENCE状态时,可以暂停主动向其他作业终端发送LSR包或者HELLO数据包。当作业终端处于SILENCE状态时接收到其他终端发送的LSR包或者HELLO数据包,可以向其他终端反馈LSR包。
在一种实施例中,作业终端在2个HELLO数据包的周期内未接收到其他作业终端发送的HELLO数据包时,可以主动向其他作业终端发送HELLO数据包。
本发明实施例中,第二作业终端向作业集群中的第一作业终端发送终端标识信息获取请求,接收第一作业终端发送的作业集群中当前可用于调度任务的作业终端的终端标识信息,根据终端标识信息,向作业集群中当前可用于调度任务的作业终端发送终端排列信息更新请求,接收作业集群中当前可用于调度任务的作业终端反馈的终端排列更新响应信息,向作业集群中当前可用于调度任务的作业终端发送任务调度信息更新请求,根据作业集群中当前可用于调度任务的作业终端的数量,获取各个当前待处理任务的任务调度信息,可提高任务调度的有效性和可靠性。
请参见图4,图4是本发明实施例中提供的一种任务调度装置的结构示意图,本发明实施例中的任务调度装置可以包括平板电脑、手机、个人计算机、笔记本电脑、车载设备、网络电视等终端,如图所示本实施例中的任务调度装置至少可以包括任务调度信息获取单元401、终端排列信息获取单元402以及任务调度单元403,其中:
任务调度信息获取单元401,配置为根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述可用于调度任务的作业终端包括第一作业终端。
终端排列信息获取单元402,配置为根据作业集群中所述可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息。
任务调度单元403,配置为调度与终端排列信息匹配的任务调度信息对应的任务。
在一种实施例中,所述任务调度信息获取单元401,具体配置为:
获取待处理任务的排列序号;
获取所述作业集群中可用于调度任务的作业终端的数量;
将待处理任务的排列序号对作业集群中当前可用于调度任务的作业终端的数量进行取模,得到待处理任务的任务调度信息。
在一种实施例中,所述终端排列信息获取单元402,配置为:
获取作业集群中所述可用于调度任务的作业终端的终端标识信息;
根据终端标识信息对作业集群中所述可用于调度任务的作业终端进行排序,得到作业集群中所述可用于调度任务的作业终端的排列序号;
将第一作业终端对应的排列序号确定为第一作业终端的终端排列信息。
在一种实施例中,本发明实施例中的任务调度装置还可以包括:
作业终端确定单元404,配置为检测到作业集群中所述可用于调度任务的作业终端进行更新时,将更新后的作业终端作为作业集群中可用于调度任务的作业终端,触发任务调度信息获取单元401根据作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息。
在一种实施例中,所述作业终端确定单元404,配置为:
接收需要加入作业集群的第二作业终端发送的针对作业集群中可用于 调度任务的作业终端的终端标识信息获取请求;
将所述终端标识信息发送给第二作业终端,以使第二作业终端根据终端标识信息,向所述作业集群中可用于调度任务的作业终端发送终端排列信息更新请求,所述第二作业终端接收作业集群中可用于调度任务的作业终端反馈的终端排列更新响应信息;
接收第二作业终端发送的任务调度信息更新请求;
确定所述作业集群中可用于调度任务的作业终端更新完毕。
本发明实施例中,所述任务调度信息获取单元401根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述终端排列信息获取单元402根据作业集群中所述可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息,所述任务调度单元403调度与终端排列信息匹配的任务调度信息对应的任务,可提高任务调度的有效性和可靠性。
请参见图5,图5为本发明实施例提供的一种终端的结构示意图,本发明实施例提供的终端可以用于实施上述图1或者图3所示的本发明实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图1或者图3所示的本发明实施例。
如图5所示,该终端包括:至少一个处理器501,例如CPU,至少一个输入装置503,至少一个输出装置504,存储器505,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,输入装置503具体可以为网络接口,用于与外部网络进行通信。其中,输出装置504具体可以为网络接口,用于与外部网络进行通信。其中,存储器505可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器,具体用于存储任务、任务标识信息以及终端标识信息。存储器505可选的可以包含至少一个位于远离前述处理器501的存储装置。 处理器501可以结合图4所示的任务调度装置。存储器505中存储一组程序代码,且处理器501调用存储器505中存储的程序代码,用于执行以下操作:
处理器501配置为根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述可用于调度任务的作业终端包括第一作业终端。
处理器501配置为根据作业集群中所述可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息。
输入装置503配置为调度与终端排列信息匹配的任务调度信息对应的任务。
在一种实施例中,处理器501配置为:
获取待处理任务的排列序号;
获取所述作业集群中所述可用于调度任务的作业终端的数量;
将所述待处理任务的排列序号对作业集群中所述可用于调度任务的作业终端的数量进行取模,得到各个任务的任务调度信息。
在一种实施例中,所述处理器501配置为:
获取作业集群中所述可用于调度任务的作业终端的终端标识信息;
根据终端标识信息对作业集群中所述可用于调度任务的作业终端进行排序,得到作业集群中所述可用于调度任务的作业终端的排列序号;
将第一作业终端对应的排列序号作为第一作业终端的终端排列信息。
在一种实施例中,所述处理器501还配置为:
检测到作业集群中所述可用于调度任务的作业终端进行更新时,将更新后的作业终端作为作业集群中可用于调度任务的作业终端。
执行根据所述作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息的步骤。
在一种实施例中,所述处理器501配置为:
接收需要加入作业集群的第二作业终端发送的针对所述作业集群中可用于调度任务的作业终端的终端标识信息获取请求;
将所述终端标识信息发送给第二作业终端,以使第二作业终端根据所述终端标识信息,向所述作业集群中可用于调度任务的作业终端发送终端排列信息更新请求,所述第二作业终端接收作业集群中可用于调度任务的作业终端反馈的终端排列更新响应信息;
接收所述第二作业终端发送的任务调度信息更新请求;
确定所述作业集群中可用于调度任务的作业终端更新完毕。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图1或者图3介绍的方法实施例中的部分或全部流程。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可 以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
工业实用性
本发明实施例的技术方案通过第一作业终端根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,根据作业集群中可用于调度任务的作业终端的终端标识信息,获取第一作业终端的终端排列信息,调度与终端排列信息匹配的任务调度信息对应的任务。其中,与终端排列信息匹配的任务调度信息对应的任务可以 包括多个,则第一作业终端可并行调度多个任务,提高任务调度的有效性;另外,当作业集群进行扩容或缩容等更新时,第一作业终端可对任务调度信息和终端排列信息进行更新,增加的作业终端可调度任务,退出作业集群的作业终端无法调度任务,可实现任务的正常调度,提高任务调度的可靠性。

Claims (11)

  1. 一种任务调度方法,所述方法包括:
    第一作业终端根据所述第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述可用于调度任务的作业终端包括所述第一作业终端;
    所述第一作业终端根据所述作业集群中所述可用于调度任务的作业终端的终端标识信息,获取所述第一作业终端的终端排列信息;
    所述第一作业终端调度与所述终端排列信息匹配的任务调度信息对应的任务。
  2. 根据权利要求1所述方法,其中,所述第一作业终端根据所述第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,包括:
    所述第一作业终端获取待处理任务的排列序号;
    所述第一作业终端获取所述作业集群中可用于调度任务的作业终端的数量;
    所述第一作业终端将待处理任务的排列序号对所述作业集群中可用于调度任务的作业终端的数量进行取模,得到待处理任务的任务调度信息。
  3. 根据权利要求1所述方法,其中,所述第一作业终端根据所述作业集群中所述可用于调度任务的作业终端的终端标识信息,获取所述第一作业终端的终端排列信息,包括:
    所述第一作业终端获取所述作业集群中所述可用于调度任务的作业终端的终端标识信息;
    所述第一作业终端根据所述终端标识信息对所述作业集群中所述可用于调度任务的作业终端进行排序,得到所述作业集群中所述可用于调度任务的作业终端的排列序号;
    所述第一作业终端将所述第一作业终端对应的排列序号作为所述第一作业终端的终端排列信息。
  4. 根据权利要求1所述方法,其中,所述方法还包括:
    检测到所述作业集群中所述可用于调度任务的作业终端进行更新时,所述第一作业终端将更新后的作业终端作为所述作业集群中可用于调度任务的作业终端;
    所述第一作业终端执行根据所述作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息的步骤。
  5. 根据权利要求4所述方法,其中,所述第一作业终端检测到所述作业集群中所述可用于调度任务的作业终端进行更新,包括:
    所述第一作业终端接收需要加入所述作业集群的第二作业终端发送的针对所述作业集群中可用于调度任务的作业终端的终端标识信息获取请求;
    所述第一作业终端将所述终端标识信息发送给所述第二作业终端,以使所述第二作业终端根据所述终端标识信息,向所述作业集群中可用于调度任务的作业终端发送终端排列信息更新请求,所述第二作业终端接收所述作业集群中当前可用于调度任务的作业终端反馈的终端排列更新响应信息;
    所述第一作业终端接收所述第二作业终端发送的任务调度信息更新请求;
    所述第一作业终端确定所述作业集群中可用于调度任务的作业终端更新完毕。
  6. 一种任务调度装置,包括:
    任务调度信息获取单元,配置为根据第一作业终端所属作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息,所述 可用于调度任务的作业终端包括所述第一作业终端;
    终端排列信息获取单元,配置为根据所述作业集群中所述可用于调度任务的作业终端的终端标识信息,获取所述第一作业终端的终端排列信息;
    任务调度单元,配置为调度与所述终端排列信息匹配的任务调度信息对应的任务。
  7. 根据权利要求6所述装置,其中,所述任务调度信息获取单元,配置为:
    获取待处理任务的排列序号;
    获取所述作业集群中可用于调度任务的作业终端的数量;
    将待处理任务的排列序号对所述作业集群中当前可用于调度任务的作业终端的数量进行取模,得到待处理任务的任务调度信息。
  8. 根据权利要求6所述装置,其中,所述终端排列信息获取单元,配置为:
    获取所述作业集群中所述可用于调度任务的作业终端的终端标识信息;
    根据所述终端标识信息对所述作业集群中所述可用于调度任务的作业终端进行排序,得到所述作业集群中所述可用于调度任务的作业终端的排列序号;
    将所述第一作业终端对应的排列序号作为所述第一作业终端的终端排列信息。
  9. 根据权利要求6所述装置,其中,所述装置还包括:
    作业终端确定单元,配置为检测到所述作业集群中所述可用于调度任务的作业终端进行更新时,将更新后的作业终端作为所述作业集群中可用于调度任务的作业终端,触发所述任务调度信息获取单元根据所述作业集群中可用于调度任务的作业终端的数量,获取待处理任务的任务调度信息。
  10. 根据权利要求9所述装置,其中,所述作业终端确定单元,配置为:
    接收需要加入所述作业集群的第二作业终端发送的针对所述作业集群中可用于调度任务的作业终端的终端标识信息获取请求;
    将所述终端标识信息发送给所述第二作业终端,以使所述第二作业终端根据所述终端标识信息,向所述作业集群中可用于调度任务的作业终端发送终端排列信息更新请求,所述第二作业终端接收所述作业集群中可用于调度任务的作业终端反馈的终端排列更新响应信息;
    接收所述第二作业终端发送的任务调度信息更新请求;
    确定所述作业集群中可用于调度任务的作业终端更新完毕。
  11. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至5任一项所述的任务调度方法。
PCT/CN2017/071901 2016-02-01 2017-01-20 一种任务调度方法、装置和计算机存储介质 WO2017133487A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610069625.2A CN107025131B (zh) 2016-02-01 2016-02-01 一种任务调度方法及装置
CN201610069625.2 2016-02-01

Publications (1)

Publication Number Publication Date
WO2017133487A1 true WO2017133487A1 (zh) 2017-08-10

Family

ID=59499389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/071901 WO2017133487A1 (zh) 2016-02-01 2017-01-20 一种任务调度方法、装置和计算机存储介质

Country Status (2)

Country Link
CN (1) CN107025131B (zh)
WO (1) WO2017133487A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634730A (zh) * 2018-11-26 2019-04-16 平安科技(深圳)有限公司 任务调度方法、装置、计算机设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290215B (zh) * 2019-06-28 2021-09-28 深圳前海微众银行股份有限公司 一种信号传输方法及装置
CN112396277A (zh) * 2019-08-19 2021-02-23 同方威视技术股份有限公司 判图任务分配系统及用于判图任务分配的方法
CN111130007B (zh) * 2019-12-11 2021-08-24 深圳供电局有限公司 顺序式输电线路现场作业方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604261A (zh) * 2009-07-08 2009-12-16 深圳先进技术研究院 超级计算机的任务调度方法
CN103810045A (zh) * 2012-11-09 2014-05-21 阿里巴巴集团控股有限公司 资源分配方法、资源管理器、资源服务器及系统
CN104520815A (zh) * 2014-03-17 2015-04-15 华为技术有限公司 一种任务调度的方法、装置及设备
CN104601704A (zh) * 2015-01-19 2015-05-06 深圳市普天宜通技术有限公司 一种基于任务的集群调度数据处理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8561072B2 (en) * 2008-05-16 2013-10-15 Microsoft Corporation Scheduling collections in a scheduler
CN102402606B (zh) * 2011-11-28 2013-03-20 中国科学院计算机网络信息中心 一种高效的文本数据挖掘方法
CN102722413B (zh) * 2012-05-16 2017-12-29 上海兆民云计算科技有限公司 一种桌面云集群使用的分布式资源调度方法
CN102968491B (zh) * 2012-11-27 2016-06-08 深圳市网信联动通信技术股份有限公司 一种数据分配方法和装置
CN104317658B (zh) * 2014-10-17 2018-06-12 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN105224612B (zh) * 2015-09-14 2018-12-07 成都信息工程大学 基于动态标记优先值的MapReduce数据本地化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604261A (zh) * 2009-07-08 2009-12-16 深圳先进技术研究院 超级计算机的任务调度方法
CN103810045A (zh) * 2012-11-09 2014-05-21 阿里巴巴集团控股有限公司 资源分配方法、资源管理器、资源服务器及系统
CN104520815A (zh) * 2014-03-17 2015-04-15 华为技术有限公司 一种任务调度的方法、装置及设备
CN104601704A (zh) * 2015-01-19 2015-05-06 深圳市普天宜通技术有限公司 一种基于任务的集群调度数据处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHAO, BILIN ET AL., HAI LIANG XINXI CUNCHU ANQUAN JISHU JIQI YINGYONG, 30 April 2014 (2014-04-30), ISBN: 978-7-5612-3902-5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634730A (zh) * 2018-11-26 2019-04-16 平安科技(深圳)有限公司 任务调度方法、装置、计算机设备和存储介质
CN109634730B (zh) * 2018-11-26 2024-05-31 平安科技(深圳)有限公司 任务调度方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN107025131B (zh) 2020-12-29
CN107025131A (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
CN110365752B (zh) 业务数据的处理方法、装置、电子设备和存储介质
JP7271045B2 (ja) 電子手形識別子の割り当て方法、電子手形の生成方法、及びその装置とシステム、並びに、記憶媒体及びコンピュータプログラム
CN105511954B (zh) 一种报文处理方法及装置
WO2017133487A1 (zh) 一种任务调度方法、装置和计算机存储介质
RU2610250C2 (ru) Узел передачи и способ отчетности о статусе буфера
CN115004673B (zh) 消息推送方法、装置、电子设备及计算机可读介质
CN108933829A (zh) 一种负载均衡方法及装置
US10884880B2 (en) Method for transmitting request message and apparatus
CN112398845B (zh) 数据传输方法、数据传输装置、系统及电子设备
CN114697391B (zh) 数据处理方法、装置、设备以及存储介质
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN111008254A (zh) 一种对象创建方法、装置、计算机设备和存储介质
CN107342929B (zh) 一种新消息通知的发送方法、装置及系统
CN104184729A (zh) 一种报文处理方法和装置
JP5961471B2 (ja) 複数の情報システムおける出力比較方法
EP3481099A1 (en) Load balancing method and associated device
CN111416851A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
WO2016090911A1 (zh) 一种获取邮件的方法、终端及系统
CN114257545B (zh) 一种报文转发方法及装置
CN108848172A (zh) 一种文件传输方法及系统
CN114915516A (zh) 一种通信方法及装置
CN109639795B (zh) 一种基于AcitveMQ消息队列的服务管理方法与装置
WO2013097237A1 (zh) 一种部署应用进程的方法、设备和系统
CN114765548B (zh) 目标业务的处理方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17746807

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17746807

Country of ref document: EP

Kind code of ref document: A1