CN107025131B - Task scheduling method and device - Google Patents

Task scheduling method and device Download PDF

Info

Publication number
CN107025131B
CN107025131B CN201610069625.2A CN201610069625A CN107025131B CN 107025131 B CN107025131 B CN 107025131B CN 201610069625 A CN201610069625 A CN 201610069625A CN 107025131 B CN107025131 B CN 107025131B
Authority
CN
China
Prior art keywords
terminal
job
task
scheduling
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610069625.2A
Other languages
Chinese (zh)
Other versions
CN107025131A (en
Inventor
孙子荀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610069625.2A priority Critical patent/CN107025131B/en
Priority to PCT/CN2017/071901 priority patent/WO2017133487A1/en
Publication of CN107025131A publication Critical patent/CN107025131A/en
Application granted granted Critical
Publication of CN107025131B publication Critical patent/CN107025131B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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
    • 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

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

The embodiment of the invention discloses a task scheduling method and a device, wherein the method comprises the following steps: the method comprises the steps that a first operation terminal obtains task scheduling information of each task needing to be processed currently according to the number of operation terminals which can be used for scheduling the task currently in an operation cluster to which the first operation terminal belongs, wherein the operation terminals which can be used for scheduling the task currently in the operation cluster comprise the first operation terminal; the method comprises the steps that a first operation terminal obtains terminal arrangement information of the first operation terminal according to terminal identification information of an operation terminal which can be used for scheduling tasks currently in an operation cluster; and the first operation terminal schedules the task corresponding to the task scheduling information matched with the terminal arrangement information. By adopting the embodiment of the invention, the effectiveness and the reliability of task scheduling can be improved.

Description

Task scheduling method and device
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a task scheduling method and apparatus.
Background
And service machine clusters, namely a plurality of terminal devices for processing tasks. The service machine cluster can comprise a front-end request cluster and a back-end job cluster, wherein after a request terminal in the request cluster receives a plurality of requests, a corresponding number of tasks can be generated, the generated tasks are distributed to the job cluster, and the job terminal receiving the tasks in the job cluster processes the tasks.
Conventional task scheduling methods may include a HASH assignment method and a message queue decoupling method. The HASH allocation method specifically comprises the following steps: the method comprises the steps that a request terminal in a request cluster distributes different tasks to different job terminals in a job cluster through a preset HASH function, and as the preset HASH function is preset, after the job terminals in the job cluster are expanded or reduced, the request terminal cannot distribute the tasks to the increased job terminals or still distribute the tasks to the job terminals which already exit the job cluster through the preset HASH function, so that the tasks cannot be normally scheduled, and the reliability of job scheduling is reduced. The message queue decoupling method may specifically be: the request terminals in the request cluster dispatch tasks to the job terminals in the job cluster through the distributed message queue components, but the task scheduling performance is limited by the throughput and network delay of the message queues, the same job terminal cannot simultaneously schedule a plurality of tasks, and the task scheduling effectiveness is low.
Disclosure of Invention
The technical problem to be solved by the embodiments of the present invention is to provide a task scheduling method and device, which can improve the effectiveness and reliability of task scheduling.
In order to solve the above technical problem, an embodiment of the present invention provides a task scheduling method, where the method includes:
the method comprises the steps that a first operation terminal obtains task scheduling information of each task needing to be processed currently according to the number of operation terminals which can be used for scheduling the task currently in an operation cluster to which the first operation terminal belongs, wherein the operation terminals which can be used for scheduling the task currently in the operation cluster comprise the first operation terminal;
the first operation terminal acquires terminal arrangement information of the first operation terminal according to terminal identification information of operation terminals which can be used for scheduling tasks currently in the operation cluster;
and the first operation terminal schedules the task corresponding to the task scheduling information matched with the terminal arrangement information.
Correspondingly, an embodiment of the present invention further provides a task scheduling apparatus, including:
the task scheduling information acquiring unit is used for acquiring task scheduling information of each task needing to be processed currently according to the number of the currently available task terminals for scheduling the tasks in the task cluster to which the first task terminal belongs, wherein the currently available task terminals for scheduling the tasks in the task cluster comprise the first task terminal;
a terminal arrangement information obtaining unit, configured to obtain terminal arrangement information of the first job terminal according to terminal identification information of a job terminal currently available for scheduling a task in the job cluster;
and the task scheduling unit is used for scheduling the task corresponding to the task scheduling information matched with the terminal arrangement information.
According to the method and the device for scheduling the tasks, the first operation terminal obtains the task scheduling information of each task needing to be processed currently according to the number of the operation terminals which can be used for scheduling the tasks currently in the operation cluster to which the first operation terminal belongs, obtains the terminal arrangement information of the first operation terminal according to the terminal identification information of the operation terminals which can be used for scheduling the tasks currently in the operation cluster, and schedules the tasks corresponding to the task scheduling information matched with the terminal arrangement information. The task corresponding to the task scheduling information matched with the terminal arrangement information can include a plurality of tasks, and the first job terminal can schedule the plurality of tasks in parallel, so that the effectiveness of task scheduling is improved; in addition, when the operation cluster is updated in a capacity expansion or capacity reduction mode, the first operation terminal can update the task scheduling information and the terminal arrangement information, the added operation terminals can schedule tasks, the operation terminals which quit the operation cluster cannot schedule the tasks, normal scheduling of the tasks can be achieved, and reliability of task scheduling is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a task scheduling method provided in an embodiment of the present invention;
FIG. 2A is a schematic interface diagram of task scheduling provided in an embodiment of the present invention;
FIG. 2B is a diagram illustrating a state of a job cluster according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a task scheduling method according to another embodiment of the present invention;
fig. 4 is a schematic flowchart of a task scheduling apparatus provided in an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a terminal provided in an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The task scheduling method can be operated in a terminal such as a tablet Computer, a mobile phone, a Personal Computer (PC), a notebook Computer or a network television.
Referring to fig. 1, fig. 1 is a schematic flowchart of a task scheduling method in an embodiment of the present invention, where the task scheduling method in the embodiment of the present invention includes:
s101, the first operation terminal obtains task scheduling information of each task needing to be processed currently according to the number of the operation terminals which can be used for scheduling the task currently in the operation cluster to which the first operation terminal belongs.
The first job terminal may obtain task scheduling information of each task that needs to be processed currently according to the number of job terminals that are 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, all or part of the at least one job terminal may be job terminals 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 a task that needs to be processed currently, and the task scheduling information may be a numerical value, such as a natural number, e.g., 0 or 1. Optionally, the task scheduling information of different tasks may be the same or different, and the same task scheduling information may correspond to one or more tasks.
In an optional embodiment, the first job terminal may obtain the ranking number of each task, obtain the number of job terminals currently available for scheduling the task in the job cluster, and modulo the ranking number of each task with respect to the number of job terminals currently available for scheduling the task in the job cluster to obtain the task scheduling information of each task.
Taking the interface schematic diagram of task scheduling shown in fig. 2A as an example, after receiving a request, a request terminal in a request cluster at a front end may generate a corresponding task and store the task in a preset database. The task state of each task can be a DOING state or a DONE state, the DOING state indicates that the task is not scheduled by the job terminal, namely the task is currently required to be processed, and the DONE state indicates that the task is scheduled by other job terminals. Before the job terminal schedules the task corresponding to the task identification information matched with the terminal identification information, whether the task state of the task corresponding to the task identification information matched with the terminal identification information is a DOING state or not can be judged, when the task state of the task is the DOING state, the job terminal can schedule the task, and then the preset data block can update the state of the task to the DONE state. The preset database may include Mysql or Redis data blocks, and the like. The preset database may maintain a task routing table, each task may be written into the task routing table according to the sequence of the generation time, and a ranking number may be allocated to each task according to the sequence of the generation time, and each ranking number may present an increasing trend, for example, a ranking number of a task written into the task routing table first is 1, a ranking number of a task written into the task routing table second is 2, and so on. Optionally, when the generation time of the plurality of tasks is the same, the priority of the request terminal that generates the task may be obtained, and the tasks are sorted according to the priority, for example, the maximum ranking number in the current task routing table is 2, the generation time of the first task that is currently generated by the first request terminal is the same as the generation time of the second task that is currently generated by the second request terminal, and the priority of the first request terminal is higher than the priority of the second request terminal, then the ranking number allocated to the first task may be 3, and the ranking number allocated to the second task may be 4.
The first job terminal may determine that the task state of the task that needs to be currently processed is a going 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 the tasks that need to be currently processed. The number of the current operation terminals which can be used for scheduling the tasks in the operation cluster is 3, the sequence number of the second task is 2, and the first operation terminal can perform modulo operation on the 2 to the 3 to obtain the task scheduling information of the second task as 2; the sequence number of the third task is 3, and the first operation terminal can perform modulo 3 on 3 to obtain task scheduling information of the third task, which is 0; the sequence number of the fourth task is 4, and the first job terminal may modulo 4 with 3 to obtain task scheduling information of the fourth task as 1.
Optionally, if the number of job terminals currently available for scheduling tasks in the job cluster is updated, the task scheduling information of each task is also updated. For example, if the number of currently available job terminals for scheduling tasks in the job cluster is updated to 4, and the tasks currently required to be processed remain unchanged, that is, the second task with the ranking number of 2, the third task with the ranking number of 3, and the fourth task with the ranking number of 4, the first job terminal may modulo 2 with 4 to obtain task scheduling information of the second task as 2; performing modulus extraction on the 3 to 4 to obtain task scheduling information of a third task as 3; and performing modulus extraction on 4 to obtain task scheduling information of the fourth task as 0.
And S102, the first operation terminal acquires the terminal arrangement information of the first operation terminal according to the terminal identification information of the operation terminal which can be currently used for scheduling the task in the operation cluster.
The first job terminal may obtain the terminal arrangement information of the first job terminal according to the terminal identification information of the job terminal currently available for scheduling the task in the job cluster. The terminal identification information may be used to uniquely identify the operation terminal, such as an Internet Protocol (IP) address or an International Mobile Equipment Identity (IMEI) address between networks. The terminal ranking information is used to identify the job terminals currently available for scheduling tasks, and may be a numerical value, such as a natural number, e.g., 0 or 1. Optionally, the terminal arrangement information of different job terminals is different.
In an optional embodiment, the first job terminal may obtain terminal identification information of the job terminals currently available for scheduling the task in the job cluster, sort the job terminals currently available for scheduling the task in the job cluster according to the terminal identification information, obtain a ranking number of the job terminals currently available for scheduling the task in the job cluster, and use the ranking number of the first job terminal as the terminal ranking information of the first job terminal.
In a specific implementation, the first job terminal may obtain an IP address of the job terminal and IP addresses of other job terminals in the job cluster that can be used for scheduling tasks, compare the IP address of the job terminal with the IP addresses of the other job terminals in the job cluster that can be used for scheduling tasks, sort the job terminal and the other job terminals in the job cluster that can be used for scheduling tasks according to the IP addresses in a preset certain order (for example, a descending order) to obtain the arrangement serial numbers of the job terminal and the other job terminals in the job cluster that can be used for scheduling tasks, and use the arrangement serial numbers of the job terminals as the terminal arrangement information of the job terminal. For example, the job cluster includes three job terminals available for scheduling 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, and the IP address of the third job terminal is 192.168.22.1, it can be determined that the IP address of the third job terminal is the largest, and the IP address of the second job terminal is the smallest, then the job terminals after sorting are: the terminal arrangement information of the first job terminal is 1, the terminal arrangement information of the second job terminal is 2, and the terminal arrangement information of the third job terminal is 0.
Optionally, if a job terminal currently available for scheduling a task in the job cluster is updated, the arrangement information of each terminal is also updated. For example, if job terminals available for scheduling tasks in a job cluster are updated, that is, the job terminals currently available for scheduling tasks include a first job terminal, a third job terminal and a fourth job terminal, the IP address of the first job terminal is 192.168.10.3, the IP address of the third job terminal is 192.168.22.1, and the IP address of the fourth job terminal is 192.168.23.1, it can be determined that the IP address of the fourth job terminal is the largest, and the IP address of the first job terminal is the smallest, then the job terminals after sorting are: the terminal arrangement information of the first job terminal is 2, the terminal arrangement information of the third job terminal is 1, and the terminal arrangement information of the fourth job terminal is 0.
It should be noted that, the determination method of the terminal arrangement information includes, but is not limited to, the above method, for example, each job terminal that can be used for scheduling tasks in the job cluster may be sorted according to the order from small to large of the IP address to obtain the terminal arrangement information of each job terminal, which is not limited by the embodiment of the present invention.
And S103, the first job terminal schedules the task corresponding to the task scheduling information matched with the terminal arrangement information.
The first job terminal may schedule a task corresponding to the task scheduling information matched with the terminal ranking information. In a specific implementation, the first job terminal may schedule at least one task in parallel and process the scheduled at least one task. For example, if 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 job terminal is 1, the terminal arrangement information of the second job terminal is 2, and the terminal arrangement information of the third job terminal is 0, the first job terminal may schedule the fourth task, the second job terminal may schedule the second task, and the third job terminal may schedule the third task.
In an optional embodiment, when the first job terminal detects that a job terminal currently available for scheduling a task in the job cluster is updated, the updated job terminal may be used as a job terminal currently available for scheduling a task in the job cluster, and then the step S101 is executed. For example, when the first job terminal detects that the job cluster is expanded, task scheduling information of each task that needs to be processed currently may be obtained according to the number of job terminals that are currently available for scheduling tasks in the expanded job cluster, terminal arrangement information of the first job terminal may be obtained according to terminal identification information of the job terminals that are currently available for scheduling tasks in the expanded job cluster, and a task corresponding to the task scheduling information that matches the terminal arrangement information of the local terminal may be scheduled. For another example, when the first job terminal detects that the job cluster is subjected to capacity reduction, the first job terminal may obtain task scheduling information of each task that needs to be processed currently according to the number of job terminals that are available for scheduling tasks currently in the reduced job cluster, obtain terminal arrangement information of the first job terminal according to terminal identification information of the job terminals that are available for scheduling tasks currently in the reduced job cluster, and schedule a task corresponding to the task scheduling information that matches the terminal arrangement information of the local terminal.
Further optionally, the first job terminal may receive a terminal identifier information acquisition request, which is sent by a second job terminal that needs to join the job cluster and is directed at a job terminal that is currently available for scheduling tasks in the job cluster, and send each terminal identifier information to the second job terminal, so that the second job terminal sends a terminal ranking information update request to the job terminal that is currently available for scheduling tasks in the job cluster according to the terminal identifier information, and the second job terminal receives terminal ranking update response information fed back by the job terminal that is currently available for scheduling tasks in the job cluster, receives the task scheduling information update request sent by the second job terminal, and determines that the job terminal that is currently available for scheduling tasks in the job cluster is updated.
In the embodiment of the invention, the first operation terminal acquires the task scheduling information of each task which needs to be processed currently according to the number of the operation terminals which can be used for scheduling the task currently in the operation cluster to which the first operation terminal belongs, acquires the terminal arrangement information of the first operation terminal according to the terminal identification information of the operation terminals which can be used for scheduling the task currently in the operation cluster, schedules the task corresponding to the task scheduling information matched with the terminal arrangement information, and can improve the effectiveness and reliability of task scheduling.
Referring to fig. 3, fig. 3 is a schematic flowchart of a task scheduling method in another embodiment of the present invention, where the task scheduling method in the embodiment of the present invention includes:
s301, the second operation terminal sends a terminal identification information acquisition request to the first operation terminal in the operation cluster.
When the second job terminal needs to join the job cluster to which the first job terminal belongs, a terminal identification information acquisition request for a job terminal currently available for scheduling a task in the job cluster may be sent to the first job terminal in the job cluster. The first job terminal can be at least one job terminal in job terminals which can be currently used for scheduling tasks in the job cluster, and the first job terminal and the second job terminal are in communication connection. When one of the first job terminals fails to communicate with the second job terminal, the other job terminals in the first job terminal can communicate with the second job terminal, and the reliability of data processing is improved. The second job terminal wishes to join the job cluster, and the job cluster does not currently include the second job terminal.
Taking the status diagram of the job cluster shown in fig. 2B as an example, the status of the job terminal may be an ONLINE status, a join status, a work status, an OFFLINE status, and a silent status. The ONLINE state indicates that the second operation terminal is ONLINE and approved by the first operation terminal in the operation cluster, the JOINING state indicates that the second operation terminal is ready to be added into the operation cluster, the WORKING state indicates that the second operation terminal can perform task scheduling, the OFFLINE state indicates that the second operation terminal is not in communication connection with all operation terminals in the operation cluster, and the SILENCE state indicates that the second operation terminal cannot perform task scheduling currently. Further, when the second job terminal is in the ONLINE state, the LSR packet sent by all job terminals currently available for scheduling tasks in the job cluster is received, and the state of the second job terminal is updated to the silent state. The second work terminal will be updated to the WORKING state after maintaining the silent state 12 s. And when the second operation terminal is in the WORKING state, the second operation terminal receives the LSR packet sent by any operation terminal in the operation cluster, and the state of the second operation terminal is updated to be in a SILENCE state. When the second operation terminal is in the WORKING state, the HELLO packets sent by all the operation terminals in the operation cluster are not received, and the state of the second operation terminal is updated to the OFFLINE state.
Wherein, the HELLO packet is used for mutual discovery among all the operation terminals in the operation cluster. The LSR packet is used to inform each job terminal in the job cluster that the task scheduling table needs to be updated, i.e. to re-determine the task scheduling information of each current task that needs to be processed. When any operation terminal in the operation cluster is in a SILENCE state, the operation terminal is triggered to reply one LSR packet after receiving the LSR packet sent by other operation terminals.
In a specific implementation, when a second job terminal needs to join a job cluster, the initial state of the second job terminal is a join state, and the second job terminal can send a terminal identifier information acquisition request to a first job terminal which establishes a communication connection with a home terminal. The terminal identification information acquisition request may be a HELLO packet, for example, the second job terminal may establish a communication connection with the first job terminal, the state of the first job terminal is a WORKING state, the second job terminal may send the HELLO packet to the first job terminal, the HELLO packet may carry state identification information of the second job terminal, when the first job terminal determines that the state of the second job terminal is a join state according to the state identification information of the second job terminal, the first job terminal may feed back, to the second job terminal, terminal identification information of each terminal that is available for scheduling tasks, for example, the first job terminal may send a current task schedule to the second job terminal, and the task schedule may include the terminal identification information of each job terminal in the job cluster.
S302, the second job terminal receives terminal identification information of the job terminals which are currently available for scheduling tasks in the job cluster and sent by the first job terminal.
After receiving the terminal identification information acquisition request, the first job terminal may respond to the terminal identification information acquisition request and feed back the terminal identification information of the job terminal currently available for scheduling the task in the job cluster to the second job terminal. For example, the first job terminal may transmit the task schedule to the second job terminal according to the terminal identification information acquisition request. Each job terminal in the job cluster will maintain a task schedule, and each job terminal will need to update the task schedule when the job cluster is updated. The task schedule may be as follows:
[{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}]。
the task scheduling table can know that the terminal identification information of each operation terminal which can be used for scheduling the task is an IP address, the operation terminal with the IP address a is in a WORKING state, and the task scheduling information of the task which is currently processed is 0; the operation terminal with the IP address b is in a WORKING state, and the task scheduling information of the task currently being processed is 1; the operation terminal with the IP address of c is in a WORKING state, and the task scheduling information of the task currently being processed is 2; and the operation terminal with the IP address d is in a WORKING state, and the task scheduling information of the task currently processed is 3.
And S303, the second operation terminal sends a terminal arrangement information updating request to the operation terminals which can be used for scheduling tasks currently in the operation cluster according to the terminal identification information.
The second job terminal may send a terminal ranking information update request to the job terminals currently available for scheduling tasks in the job cluster according to the respective terminal identification information. In a specific implementation, the second job terminal may send a HELLO packet to each job terminal according to an IP address of each job terminal.
And S304, the second job terminal receives terminal arrangement updating response information fed back by the job terminals which are available for scheduling the task currently in the job cluster.
After the second job terminal sends a terminal arrangement information updating request to the job terminals currently available for scheduling tasks in the job cluster, the second job terminal can receive terminal arrangement updating response information sent by each job terminal. In a specific implementation, after the second operation terminal sends the HELLO packet to each operation terminal according to the terminal identification information, the HELLO packet replied by each operation terminal can be received, and then the state of the second operation terminal is updated to the ONLINE state. Each job terminal in the job cluster can update the task scheduling table, and the updated task scheduling table can be:
[{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}]。
and the operation terminal with the IP address of e is a second operation terminal, the state of the second operation terminal is an ONLINE state, and the N/A indicates that the second operation terminal does not schedule the task currently.
S305, the second job terminal sends a task scheduling information updating request to the job terminals which can be used for scheduling the task currently in the job cluster.
In a specific implementation, the task scheduling information update request may be an LSR packet. For example, after the second job terminal receives a HELLO packet sent by a job terminal currently available for scheduling tasks in the job cluster, the state of the second job terminal is updated to the ONLINE state, and then an LSR packet may be sent to the job terminal currently available for scheduling tasks in the job cluster, and after the job terminal currently available for scheduling tasks in the WORKING state receives the LSR packet, the state may be updated to the silent state. After receiving the LSR packet, each operation terminal may reply the LSR packet to the second operation terminal, and when the second operation terminal is in an ONLINE state, the second operation terminal receives LSR packets sent by all operation terminals in the operation cluster, and may update the state to a silent state, and each operation terminal in the silent state cannot schedule a new task, so that each operation terminal may update task scheduling information of a task that needs to be currently processed.
And S306, the second job terminal acquires the task scheduling information of each task needing to be processed currently according to the number of the job terminals which can be used for scheduling the tasks currently in the job cluster.
For example, the number of the job terminals currently available for scheduling the tasks in the job cluster is 5, the tasks currently required to be processed include 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, and the second job terminal may modulo 2 with 5 to obtain task scheduling information of the second task as 2; performing modulus extraction on the 3 to 5 to obtain task scheduling information of a third task as 3; and performing modulus extraction on the 4 to 5 to obtain task scheduling information of the fourth task as 4.
And S307, the second job terminal acquires the terminal arrangement information of the second job terminal according to the terminal identification information of the job terminal which can be currently used for scheduling the task in the job cluster.
For example, the second job terminal may obtain the IP address of the job terminal and the IP addresses of other job terminals in the job cluster that can be used for scheduling tasks, compare the IP address of the job terminal with the IP addresses of other job terminals in the job cluster that can be used for scheduling tasks, sort the job terminal and the other job terminals in the job cluster that can be used for scheduling tasks according to the IP addresses in a preset certain order (for example, a descending order) to obtain the arrangement numbers of the job terminal and the other job terminals in the job cluster that can be used for scheduling tasks, and use the arrangement numbers of the job terminals as the terminal arrangement information of the job terminal.
In a specific implementation, after the second job terminal acquires the task scheduling information of the task which needs to be processed currently and the terminal identification information of the job terminal which can be used for scheduling the task currently in the job cluster, the task scheduling table can be updated.
And S308, the second job terminal schedules the task corresponding to the task scheduling information matched with the terminal arrangement information of the second job terminal.
After the second job terminal is in the silent state start interval 12s, the second job terminal may be updated to the WORKING state, and then a task corresponding to the task scheduling information matched with the terminal arrangement information of the second job terminal is scheduled. In the embodiment of the invention, the time interval for updating the SILENCE state into the WORKING state is set to be 12s, so that the convergence consistency of the task scheduling tables maintained by different operation terminals can be ensured, and the time delay for processing the tasks by the operation terminals in the operation cluster is ensured to be smaller.
In an alternative embodiment, when a job terminal in a job cluster does not receive HELLO packets sent by other job terminals within a period of 4 HELLO packets, the job terminal exits the job cluster.
In an alternative embodiment, while the working terminal is in the silent state, it may suspend actively transmitting the LSR packet or the HELLO packet to other working terminals. When receiving the LSR packet or HELLO packet transmitted by the other terminal while the active terminal is in the silent state, the LSR packet may be fed back to the other terminal.
In an optional embodiment, when the job terminal does not receive the HELLO packets sent by other job terminals within a period of 2 HELLO packets, the job terminal may actively send the HELLO packets to other job terminals.
In the embodiment of the invention, a second job terminal sends a terminal identification information acquisition request to a first job terminal in a job cluster, receives terminal identification information of a job terminal which can be currently used for scheduling a task in the job cluster sent by the first job terminal, sends a terminal arrangement information updating request to the job terminal which can be currently used for scheduling the task in the job cluster according to the terminal identification information, receives terminal arrangement updating response information fed back by the job terminal which can be currently used for scheduling the task in the job cluster, sends a task scheduling information updating request to the job terminal which can be currently used for scheduling the task in the job cluster, acquires task scheduling information of each task which needs to be currently processed according to the number of the job terminals which can be currently used for scheduling the task in the job cluster, and can improve the effectiveness and reliability of task scheduling.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a task scheduling device provided in an embodiment of the present invention, where the task scheduling device in the embodiment of the present invention may include a tablet computer, a mobile phone, a personal computer, a notebook computer, a vehicle-mounted device, a network television, and other terminals, and as shown in the figure, the task scheduling device in the embodiment of the present invention may at least include a task scheduling information obtaining unit 401, a terminal arrangement information obtaining unit 402, and a task scheduling unit 403, where:
a task scheduling information obtaining unit 401, configured to obtain task scheduling information of each task that needs to be processed currently according to the number of currently available task terminals for scheduling tasks in a task cluster to which a first task terminal belongs, where the currently available task terminals for scheduling tasks in the task cluster include the first task terminal.
A terminal arrangement information obtaining unit 402, configured to obtain terminal arrangement information of a first job terminal according to terminal identification information of a job terminal currently available for scheduling a task in a job cluster.
A task scheduling unit 403, configured to schedule a task corresponding to the task scheduling information that matches the terminal ranking information.
In an optional embodiment, the task scheduling information obtaining unit 401 is specifically configured to:
and acquiring the sequence number of each task.
And acquiring the number of the current job terminals available for scheduling tasks in the job cluster.
And performing modulus operation on the number of the current operation terminals which can be used for scheduling the tasks in the operation cluster according to the sequence number of each task to obtain task scheduling information of each task.
In an optional embodiment, the terminal arrangement information obtaining unit 402 is specifically configured to:
and acquiring terminal identification information of the current job terminal which can be used for scheduling the task in the job cluster.
And sequencing the current job terminals available for scheduling tasks in the job cluster according to the terminal identification information to obtain the sequence number of the current job terminals available for scheduling tasks in the job cluster.
And determining the arrangement serial number of the first operation terminal as the terminal arrangement information of the first operation terminal.
In an optional embodiment, the task scheduling apparatus in the embodiment of the present invention may further include:
a job terminal determining unit 404, configured to, when detecting that a job terminal currently available for scheduling a task in a job cluster is updated, take the updated job terminal as a job terminal currently available for scheduling a task in the job cluster, and trigger the task scheduling information obtaining unit 401 to obtain task scheduling information of each task currently required to be processed according to the number of job terminals currently available for scheduling a task in the job cluster.
In an optional embodiment, the job terminal determining unit 404 detects that a job terminal currently available for scheduling a task in a job cluster is updated, and specifically is configured to:
and receiving a terminal identification information acquisition request which is sent by a second job terminal needing to join the job cluster and aims at the job terminals which can be used for scheduling tasks currently in the job cluster.
And sending each piece of terminal identification information to a second operation terminal so that the second operation terminal sends a terminal arrangement information updating request to the operation terminals which can be currently used for scheduling tasks in the operation cluster according to the terminal identification information, and the second operation terminal receives terminal arrangement updating response information fed back by the operation terminals which can be currently used for scheduling tasks in the operation cluster.
And receiving a task scheduling information updating request sent by the second job terminal.
And determining that the current operation terminals available for scheduling tasks in the operation cluster are updated.
In the embodiment of the present invention, a task scheduling information obtaining unit 401 obtains task scheduling information of each task that needs to be processed currently according to the number of job terminals that are currently available for scheduling tasks in a job cluster to which a first job terminal belongs, a terminal arrangement information obtaining unit 402 obtains terminal arrangement information of the first job terminal according to terminal identification information of the job terminals that are currently available for scheduling tasks in the job cluster, and a task scheduling unit 403 schedules tasks corresponding to the task scheduling information that matches the terminal arrangement information, which can improve effectiveness and reliability of task scheduling.
Referring to fig. 5, fig. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention, where the terminal according to the embodiment of the present invention may be used to implement the method according to the embodiment of the present invention shown in fig. 1 or fig. 3, for convenience of description, only a part related to the embodiment of the present invention is shown, and details of the specific technology are not disclosed, please refer to the embodiment of the present invention shown in fig. 1 or fig. 3.
As shown in fig. 5, the terminal includes: at least one processor 501, such as a CPU, at least one input device 503, at least one output device 504, memory 505, at least one communication bus 502. Wherein a communication bus 502 is used to enable connective communication between these components. The input device 503 may be a network interface, and is used for communicating with an external network. The output device 504 may be specifically a network interface, and is configured to communicate with an external network. The memory 505 may include a high-speed RAM memory, and may also include a non-volatile memory, such as at least one disk memory, for storing the task, the task identification information, and the terminal identification information. Memory 505 may optionally include at least one memory device located remotely from the aforementioned processor 501. The processor 501 may incorporate the color value acquisition means shown in fig. 4. A set of program code is stored in memory 505 and processor 501 invokes the program code stored in memory 505 to perform the following operations:
the processor 501 obtains task scheduling information of each task that needs to be processed currently according to the number of currently available job terminals for scheduling tasks in a job cluster to which a first job terminal belongs, where the currently available job terminals for scheduling tasks in the job cluster include the first job terminal.
The processor 501 obtains terminal arrangement information of a first job terminal according to terminal identification information of a job terminal currently available for scheduling a task in a job cluster.
The input device 503 schedules a task corresponding to the task scheduling information that matches the terminal arrangement information.
In an optional embodiment, the processor 501 obtains task scheduling information of each task that needs to be processed currently according to the number of currently available job terminals for scheduling tasks in a job cluster to which a first job terminal belongs, and specifically is configured to:
and acquiring the sequence number of each task.
And acquiring the number of the current job terminals available for scheduling tasks in the job cluster.
And performing modulus operation on the number of the current operation terminals which can be used for scheduling the tasks in the operation cluster according to the sequence number of each task to obtain task scheduling information of each task.
In an optional embodiment, the processor 501 obtains terminal arrangement information of a first job terminal according to terminal identification information of a job terminal currently available for scheduling a task in a job cluster, and is specifically configured to:
and acquiring terminal identification information of the current job terminal which can be used for scheduling the task in the job cluster.
And sequencing the current job terminals available for scheduling tasks in the job cluster according to the terminal identification information to obtain the sequence number of the current job terminals available for scheduling tasks in the job cluster.
And taking the arrangement serial number of the first operation terminal as the terminal arrangement information of the first operation terminal.
In alternative embodiments, processor 501 may also perform the following operations:
and when detecting that the current job terminal which can be used for scheduling the task in the job cluster is updated, taking the updated job terminal as the current job terminal which can be used for scheduling the task in the job cluster.
And executing the step of acquiring the task scheduling information of each task needing to be processed currently according to the number of the currently available job terminals for scheduling the tasks in the job cluster.
In an optional embodiment, the processor 501 detects that a job terminal currently available for scheduling a task in a job cluster is updated, and specifically is configured to:
and receiving a terminal identification information acquisition request which is sent by a second job terminal needing to join the job cluster and aims at the job terminals which can be used for scheduling tasks currently in the job cluster.
And sending each piece of terminal identification information to a second operation terminal so that the second operation terminal sends a terminal arrangement information updating request to the operation terminals which can be currently used for scheduling tasks in the operation cluster according to the terminal identification information, and the second operation terminal receives terminal arrangement updating response information fed back by the operation terminals which can be currently used for scheduling tasks in the operation cluster.
And receiving a task scheduling information updating request sent by the second job terminal.
And determining that the current operation terminals available for scheduling tasks in the operation cluster are updated.
Specifically, the terminal described in the embodiment of the present invention may be used to implement part or all of the processes in the embodiment of the method described in conjunction with fig. 1 or fig. 3 of the present invention.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The above disclosure is only for the purpose of illustrating the preferred embodiments of the present invention, and it is therefore to be understood that the invention is not limited by the scope of the appended claims.

Claims (10)

1. A method for task scheduling, the method comprising:
when a first operation terminal detects that an operation terminal which can be used for scheduling tasks currently in an operation cluster to which the first operation terminal belongs is updated, the updated operation terminal is used as the operation terminal which can be used for scheduling tasks currently in the operation cluster, and the operation terminal which can be used for scheduling tasks currently in the operation cluster comprises the first operation terminal;
the first job terminal acquires task scheduling information of each task needing to be processed currently according to the number of job terminals which can be used for scheduling tasks currently in the job cluster, wherein each task needing to be processed currently is generated by each request terminal in a request cluster based on a request, and the request is received by the request terminal;
the first operation terminal acquires terminal arrangement information of the first operation terminal according to terminal identification information of operation terminals which can be used for scheduling tasks currently in the operation cluster;
and the first operation terminal schedules the task corresponding to the task scheduling information matched with the terminal arrangement information.
2. The method according to claim 1, wherein the acquiring, by the first job terminal, the task scheduling information of each task that needs to be processed currently according to the number of job terminals that are currently available for scheduling tasks in the job cluster comprises:
the first operation terminal acquires the sequence number of each task;
the first operation terminal acquires the number of operation terminals which can be used for scheduling tasks currently in the operation cluster;
and the first operation terminal performs modulo operation on the number of the operation terminals which can be currently used for scheduling the tasks in the operation cluster according to the sequence number of each task to obtain the task scheduling information of each task.
3. The method according to claim 1, wherein the acquiring, by the first job terminal, the terminal arrangement information of the first job terminal according to the terminal identification information of the job terminal currently available for scheduling the task in the job cluster comprises:
the first operation terminal acquires terminal identification information of operation terminals which can be used for scheduling tasks currently in the operation cluster;
the first operation terminal sorts the operation terminals which can be used for scheduling tasks currently in the operation cluster according to the terminal identification information to obtain a sequence number of the operation terminals which can be used for scheduling tasks currently in the operation cluster;
and the first operation terminal takes the arrangement serial number of the first operation terminal as the terminal arrangement information of the first operation terminal.
4. The method according to claim 1, wherein the step of detecting that the job terminal currently available for scheduling the task in the job cluster to which the first job terminal belongs by the first job terminal is updated by the first job terminal comprises the following steps:
the first operation terminal receives a terminal identification information acquisition request which is sent by a second operation terminal needing to join the operation cluster and aims at the operation terminal which is available for scheduling tasks currently in the operation cluster;
the first operation terminal sends each terminal identification information to the second operation terminal, so that the second operation terminal sends a terminal arrangement information updating request to the operation terminals which can be used for scheduling tasks currently in the operation cluster according to the terminal identification information, and the second operation terminal receives terminal arrangement updating response information fed back by the operation terminals which can be used for scheduling tasks currently in the operation cluster;
the first operation terminal receives a task scheduling information updating request sent by the second operation terminal;
and the first operation terminal determines that the operation terminals which can be used for scheduling tasks currently in the operation cluster are updated.
5. A task scheduling apparatus, comprising:
the system comprises an operation terminal determining unit, a task scheduling unit and a task scheduling unit, wherein the operation terminal determining unit is used for taking an updated operation terminal as an operation terminal which can be used for scheduling tasks currently in an operation cluster to which a first operation terminal belongs when detecting that the operation terminal which can be used for scheduling tasks currently in the operation cluster is updated, and the operation terminal which can be used for scheduling tasks currently in the operation cluster comprises the first operation terminal;
a task scheduling information obtaining unit, configured to obtain task scheduling information of each task that needs to be processed currently according to the number of job terminals that are available for scheduling tasks currently in the job cluster, where each task that needs to be processed currently is generated by each request terminal in a request cluster based on a request, and the request is received by the request terminal;
a terminal arrangement information obtaining unit, configured to obtain terminal arrangement information of the first job terminal according to terminal identification information of a job terminal currently available for scheduling a task in the job cluster;
and the task scheduling unit is used for scheduling the task corresponding to the task scheduling information matched with the terminal arrangement information.
6. The apparatus according to claim 5, wherein the task scheduling information obtaining unit is specifically configured to:
acquiring the sequence number of each task;
acquiring the number of the current operation terminals which can be used for scheduling tasks in the operation cluster;
and performing modulus operation on the number of the current operation terminals which can be used for scheduling the tasks in the operation cluster according to the sequence number of each task to obtain task scheduling information of each task.
7. The apparatus of claim 5, wherein the terminal arrangement information obtaining unit is specifically configured to:
acquiring terminal identification information of a current job terminal which can be used for scheduling tasks in the job cluster;
sorting the current job terminals available for scheduling tasks in the job cluster according to the terminal identification information to obtain a sequence number of the current job terminals available for scheduling tasks in the job cluster;
and taking the arrangement serial number of the first operation terminal as the terminal arrangement information of the first operation terminal.
8. The apparatus according to claim 5, wherein the job terminal determining unit detects that a job terminal currently available for scheduling a task in the job cluster is updated, and is specifically configured to:
receiving a terminal identification information acquisition request which is sent by a second operation terminal needing to join the operation cluster and aims at the operation terminal which can be used for scheduling tasks currently in the operation cluster;
sending each piece of terminal identification information to the second operation terminal, so that the second operation terminal sends a terminal arrangement information updating request to the operation terminal which is available for scheduling tasks currently in the operation cluster according to the terminal identification information, and the second operation terminal receives terminal arrangement updating response information fed back by the operation terminal which is available for scheduling tasks currently in the operation cluster;
receiving a task scheduling information updating request sent by the second operation terminal;
and determining that the operation terminals which can be used for scheduling tasks currently in the operation cluster are updated.
9. A terminal, characterized in that the terminal comprises:
a memory for storing program code;
a processor for calling said program code stored in said memory to execute a task scheduling method according to any of claims 1 to 4.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which, when executed by a terminal, causes the terminal to execute the task scheduling method according to any one of claims 1 to 4.
CN201610069625.2A 2016-02-01 2016-02-01 Task scheduling method and device Active CN107025131B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610069625.2A CN107025131B (en) 2016-02-01 2016-02-01 Task scheduling method and device
PCT/CN2017/071901 WO2017133487A1 (en) 2016-02-01 2017-01-20 Service scheduling method and device, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610069625.2A CN107025131B (en) 2016-02-01 2016-02-01 Task scheduling method and device

Publications (2)

Publication Number Publication Date
CN107025131A CN107025131A (en) 2017-08-08
CN107025131B true CN107025131B (en) 2020-12-29

Family

ID=59499389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610069625.2A Active CN107025131B (en) 2016-02-01 2016-02-01 Task scheduling method and device

Country Status (2)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634730B (en) * 2018-11-26 2024-05-31 平安科技(深圳)有限公司 Task scheduling method, device, computer equipment and storage medium
CN110290215B (en) * 2019-06-28 2021-09-28 深圳前海微众银行股份有限公司 Signal transmission method and device
CN112396277A (en) * 2019-08-19 2021-02-23 同方威视技术股份有限公司 Graph judging task distribution system and method for distributing graph judging tasks
CN111130007B (en) * 2019-12-11 2021-08-24 深圳供电局有限公司 Sequential power transmission line field operation method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722413A (en) * 2012-05-16 2012-10-10 上海兆民云计算科技有限公司 Distributed resource scheduling method for desktop cloud cluster
CN104317658A (en) * 2014-10-17 2015-01-28 华中科技大学 MapReduce based load self-adaptive task scheduling method

Family Cites Families (8)

* 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
CN101604261B (en) * 2009-07-08 2013-07-31 深圳先进技术研究院 Task scheduling method for supercomputer
CN102402606B (en) * 2011-11-28 2013-03-20 中国科学院计算机网络信息中心 High-efficiency text data mining method
CN103810045B (en) * 2012-11-09 2016-12-21 阿里巴巴集团控股有限公司 Resource allocation methods, explorer, Resource Server and system
CN102968491B (en) * 2012-11-27 2016-06-08 深圳市网信联动通信技术股份有限公司 A kind of data distributing method and device
US10216542B2 (en) * 2014-03-17 2019-02-26 Huawei Technologies Co., Ltd. Resource comparison based task scheduling method, apparatus, and device
CN104601704B (en) * 2015-01-19 2018-05-18 深圳市普天宜通技术股份有限公司 The colony dispatching data processing method and system of a kind of task based access control
CN105224612B (en) * 2015-09-14 2018-12-07 成都信息工程大学 MapReduce data Localization methodologies based on dynamically labeled preferred value

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722413A (en) * 2012-05-16 2012-10-10 上海兆民云计算科技有限公司 Distributed resource scheduling method for desktop cloud cluster
CN104317658A (en) * 2014-10-17 2015-01-28 华中科技大学 MapReduce based load self-adaptive task scheduling method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web应用服务器集群典型负载分配算法的改进研究;杨寅;《网络安全技术与应用》;20150415;第155-156页 *

Also Published As

Publication number Publication date
WO2017133487A1 (en) 2017-08-10
CN107025131A (en) 2017-08-08

Similar Documents

Publication Publication Date Title
CN107025131B (en) Task scheduling method and device
CN105511954B (en) Message processing method and device
CN105721535A (en) Parallel processing of service functions in service function chains
CN108847976B (en) Distribution network control method, mobile terminal, device and computer readable storage medium
CN103561049A (en) Method for processing terminal scheduling request, system thereof and device thereof
CN104184756A (en) Data synchronization method, device and system
CN109168150B (en) Bluetooth rapid networking method
CN113259415B (en) Network message processing method and device and network server
CN115442333A (en) Self-networking method and device based on RS485 communication, computer equipment and medium
CN111510493B (en) Distributed data transmission method and device
CN113722103A (en) Encryption card calling control method and communication equipment
CN112398845A (en) Data transmission method, data transmission device, data transmission system and electronic equipment
EP4050475A1 (en) Image forming apparatus, method, and system for firmware upgrade
CN107342929B (en) Method, device and system for sending new message notification
CN110581976A (en) teleconferencing method, device, computer system and readable storage medium
US10536393B2 (en) Mail obtaining method, terminal, and system
CN108712494A (en) Handle the method, apparatus and equipment of asynchronous message
CN103299298A (en) Service processing method and system
CN104184729A (en) Message processing method and device
CN107968718B (en) Method, device and equipment for confirming main standby state
CN115102804A (en) Data routing method and device for vehicle-mounted gateway, vehicle-mounted gateway and storage medium
CN108848172A (en) A kind of document transmission method and system
CN111245794B (en) Data transmission method and device
CN111309467B (en) Task distribution method and device, electronic equipment and storage medium
CN110247808B (en) Information transmission method, device, equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant