CN102760082B - A kind of task management method and mobile terminal - Google Patents

A kind of task management method and mobile terminal Download PDF

Info

Publication number
CN102760082B
CN102760082B CN201110110670.5A CN201110110670A CN102760082B CN 102760082 B CN102760082 B CN 102760082B CN 201110110670 A CN201110110670 A CN 201110110670A CN 102760082 B CN102760082 B CN 102760082B
Authority
CN
China
Prior art keywords
task
queue
worker
thread
mobile terminal
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
CN201110110670.5A
Other languages
Chinese (zh)
Other versions
CN102760082A (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 CN201110110670.5A priority Critical patent/CN102760082B/en
Publication of CN102760082A publication Critical patent/CN102760082A/en
Application granted granted Critical
Publication of CN102760082B publication Critical patent/CN102760082B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The embodiment of the invention discloses a kind of task management method and mobile terminal, the method includes: task is divided into instant messaging IM task groups and non-IM task groups;Task in IM task groups is assigned to IM task queue, the task in non-IM task groups is assigned to non-IM task queue, and distributes the task in thread execution IM task queue and non-IM task queue.Using the present invention, task and the other types task that can instant messaging be applied are mutually distinguishable, to facilitate the management to dissimilar task.

Description

A kind of task management method and mobile terminal
Technical field
The present invention relates to a kind of computer operating system, particularly relate to a kind of task management method and mobile terminal.
Background technology
Existing mobile terminal has several operation systems, such as, android system, itself provide a set of simple data, user interface (User Interface, UI) asynchronous process function, thread process data can be used.
But implementing of this system has some restrictions, its thread simultaneously run at most can only have 5, i.e. task (task) quantity of system is to burn into read-only memory (Read-Only Memory in system, ROM) dead quantity is write when, major part is 5, and priority can not be set, then can cause running instant messaging (Instant Message on mobile terminals, IM) conflicting with other background tasks (such as download pictures) during application, the communication information causing IM to apply can not receive in time.
Summary of the invention
Embodiment of the present invention technical problem to be solved is, it is provided that a kind of task management method and operating system.Task and the other types task that can instant messaging be applied are mutually distinguishable, to facilitate the management to dissimilar task.
In order to solve above-mentioned technical problem, embodiments providing a kind of task management method, in the operating system of mobile terminal, the method includes:
Task is divided into instant messaging IM task groups and non-IM task groups;
Task in IM task groups is assigned to IM task queue, the task in non-IM task groups is assigned to non-IM task queue, and distributes the task in thread execution IM task queue and non-IM task queue.
Or also include, the priority of the tasks carrying of non-IM task queue is adjusted according to the tasks carrying situation of IM task queue.
Further, when the thread of performing in IM task queue and non-IM task queue of task is not enough, and when current thread number is not up to predetermined total number of threads, new thread is generated with execution task.
And, described thread calls call back function and processes data processing operation, when described thread is finished, recall another readjustment and run for the thread changing interface display.
Further, the concrete kind defined in the embodiment of the present invention carrys out the execution of management role, i.e.
Using class worker management thread, each worker carries a task, and obtains a thread operation task;
Using the management worker queue of class executor, each executor manages a worker queue, and described worker queue is divided into IM task queue and non-IM task queue according to the task type in queue;
When performing when there being new task to need, it is judged that whether existing worker quantity arrives the upper limit, if not arriving, then generating new worker to perform described new task, if reaching the upper limit, then new task being added task queue medium pending.
After the tasks carrying that carries as worker is complete, obtains the next task in worker queue, and when obtaining mission failure, trigger worker recession function and reclaim idle worker.
Accordingly, additionally providing the operating system of a kind of mobile terminal in the embodiment of the present invention, for management role, this operating system includes:
Grouped element, for being divided into instant messaging IM task groups and non-IM task groups by task;
Allocation unit, for the task in IM task groups is assigned to IM task queue, is assigned to the task in non-IM task groups non-IM task queue, and distributes the task in thread execution IM task queue and non-IM task queue.
Or/and, also include in following unit is one or more: adjustment unit, adjusts the priority of the tasks carrying of non-IM task queue for the tasks carrying situation according to IM task queue.
Signal generating unit, not enough for the thread when performing in IM task queue and non-IM task queue of task, and when current thread number is not up to predetermined total number of threads, generate new thread with execution task.
Readjustment unit, processes data processing operation for calling call back function in described thread, when described thread is finished, recalls another readjustment and runs for the thread changing interface display.
Operating system in embodiments of the present invention uses corresponding class management role, i.e.
Class worker, is used for managing thread, and each worker carries a task, and obtains a thread operation task;
Class executor, is used for managing worker queue, and each executor manages a worker queue, and described worker queue is divided into IM task queue and non-IM task queue according to the task type in queue;
When performing when there being new task to need, it is judged that whether existing worker quantity arrives the upper limit, if not arriving, then generating new worker to perform described new task, if reaching the upper limit, then new task being added task queue medium pending.
After the tasks carrying that carries as worker is complete, obtains the next task in worker queue, and when obtaining mission failure, trigger worker recession function and reclaim idle worker.
Implement the embodiment of the present invention, due to task is distinguished as IM task and non-IM task (as, common data downloading task), and, the management of the difference to IM task and non-IM task can be realized, such as, it is ensured that IM priority of task is in non-IM tasks carrying, i.e. ensureing that the speed of data is downloaded simultaneously in backstage, do not affecting the promptness of instant messaging communication.
Accompanying drawing explanation
In order to be illustrated more clearly that the embodiment of the present invention or technical scheme of the prior art, the accompanying drawing used required in embodiment or description of the prior art will be briefly described below, apparently, accompanying drawing in describing below is only some embodiments of the present invention, for those of ordinary skill in the art, on the premise of not paying creative work, it is also possible to obtain other accompanying drawing according to these accompanying drawings.
Fig. 1 is a particular make-up schematic diagram of the task management method in the embodiment of the present invention;
Fig. 2 is one particular make-up schematic diagram of operating system of the mobile terminal in the embodiment of the present invention;
Fig. 3 is another particular make-up schematic diagram of operating system of the mobile terminal in the embodiment of the present invention.
Detailed description of the invention
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is only a part of embodiment of the present invention rather than whole embodiments.Based on the embodiment in the present invention, the every other embodiment that those of ordinary skill in the art are obtained under not making creative work premise, broadly fall into the scope of protection of the invention.
Rationale here is that of the embodiment of the present invention, is divided into IM group and non-IM group (e.g., general data download group) by task.Running in the task queue of IM group for IM group task, non-IM group task runs in the task queue of non-IM group, and can adjust, according to IM group thread implementation status, the priority that non-IM group task performs.Such as, a task queue can newly be set up for non-IM group so that IM task uses different queues respectively from non-IM task,
As it is shown in figure 1, be an idiographic flow schematic diagram of the task management method in the embodiment of the present invention, the method is in the operating system of mobile terminal, and in android system, or other systems conditional to number of threads, it comprises the steps.
101, task is divided into instant messaging IM task groups and non-IM task groups.In the specific embodiment of the invention, task (task) is to represent real business logic codes, it has its group belonged to of a marking variable, its type (IM task or non-IM task) is identified when the task of generation, and IM task refers to the task of relating in IM applies, rather than IM task then refers to the task (such as browser downloads task dispatching) of other application in system etc..The state of each task can be divided into four kinds: before operation, run in, run successfully, run unsuccessfully.
General when task is included into group, same group of each moment can only have a task to be in operation.
102, the task in IM task groups is assigned to IM task queue, the task in non-IM task groups is assigned to non-IM task queue, and distributes the task in thread execution IM task queue and non-IM task queue.
When distributing thread execution task, can preferentially be used for performing IM task by the thread of intrinsic for system offer, and newly-generated thread is used for performing non-IM task.Certainly, on the contrary the most also can realize technical solution of the present invention.Meanwhile, when distributing thread execution task, if the thread of performing in IM task queue and IM task queue of task is not enough, and current thread number is not up to predetermined total number of threads, then generate new thread with execution task.
Wherein, when the thread of distribution performs corresponding task, the operation logic that double back is adjusted can be used, in described thread, i.e. call call back function process data processing operation, when described thread is finished, recall another readjustment and run for the thread changing interface display.
As, task can be defined as follows call back function: doInbackground and be used for running time-consuming code logic;Process is used for processing progress data, such as the display of progress bar;Cancelled processes the logic cancelled;Succeeded processes successful logic;Interrupted processes the logic interrupted;Failed processes failed logic.Taskservice is used to maintain task queue, the state of monitor task, when new task needs to perform when, for each task registration one readjustment, to obtain the state of task, it is used for returning to centre, i.e. for calling the readjustment that midway is interrupted, such as failed.
Further the embodiment of the present invention can also include that step 103, tasks carrying situation according to IM task queue adjust the priority of the tasks carrying of non-IM task queue.It Fig. 1 is the example including step 103.
It should be noted that the above-mentioned numbering to each step in method is merely to describe conveniently, being not to represent the sequencing that step performs, what each step described is all a kind of technical characteristic in task management.
Further, in the embodiment of the present invention, definable concrete kind carrys out the execution of management role, i.e.
1, using class worker management thread, each worker carries a task, and obtains a thread operation task.Wherein, after the tasks carrying that carries as worker is complete, obtains the next task in work queue (that is, task queue), and when obtaining mission failure, trigger worker recession function and reclaim idle worker.
2, using the management worker queue of class executor, each executor manages a worker queue, and described worker queue is divided into IM task queue and non-IM task queue according to the task type in queue.Can be each one type of worker queue labelling, these types include the IM task queue type that is divided into according to the task type in queue and non-IM task queue type.
As, two executor can be used to manage and to manage IM task queue and non-IM task queue respectively.Each inner queue, according to first in first out, can not differentiate between priority.But, meeting intercommunication between two executor, inform the busy degree of the other side oneself, the executor of non-IM task queue can adjust priority and the speed of task distribution of self-administered thread according to the executor of IM task queue, thus allows with many CPU time distribute to the thread of IM task groups.
Owing to when Java Virtual Machine thread performs, can read the other side's implementation status information between each thread, the mutual communication between two executor then can realize very easily.And executor judge self busy spend time busy percentage ratio can be utilized to be marked, this busy percentage ratio then can be added up thread free time, Queued tasks number, task queue's time etc. and add up.
3, when there being new task to need to perform, it is judged that whether existing worker quantity arrives the upper limit, if not arriving, then generating new worker to perform described new task, if reaching the upper limit, then new task being added task queue medium pending.
4, the thread object of thread (thread) i.e. java, is used for obtaining CPU time operation task.
By the above-mentioned description to thread management, following logic can be included when managing thread (management role in other words).
1), on the basis of being divided into IM group and non-IM group, in a step 101 by task, the corresponding group that segmented by thread, task is included into group, and same group of each moment can only have a task to be in operation.In reality, this group is only a name, before thread runs, and check whether there is being currently running with group name, carry out a collision detection and can distinguish group.
2), such as description at step 104, corresponding, generate thread during thread deficiency, the thread free time crosses and then reclaims thread for a long time.Number of threads is controlled by worker.New task judges whether the quantity of worker arrives the upper limit when arriving, and is less than the most newly-generated worker of the upper limit and adds enqueue operation.The task of Worker is a circulation, has performed first task and has gone back to obtain next task in queue.When obtaining task failure, trigger worker and reclaim algorithm, idle worker is reclaimed.Corresponding thread also just reclaims.
3), as described in step 102, it is achieved that a set of double back is adjusted, the operation logic of four kinds of states, interface keeps and systems compliant.The callback method of Task keeps consistent with the readjustment of system, and state is divided into four kinds too.Wherein, double back is adjusted and is referred to two call back functions, is separately operable in background thread and UI thread.After background thread has processed time-consuming data, a readjustment can be performed in background thread;After this call back function has performed, background thread can be put into result in the message queue of UI thread, and then the call back function in UI thread will be performed to.
By foregoing description, due to by IM task and non-IM task (as, common data downloading task) it is handled differently, and, adjust the priority of the tasks carrying of non-IM task queue according to the tasks carrying situation of IM task queue when processing, can ensure that instant messaging task is performed in time, i.e. ensureing that the speed of data is downloaded simultaneously in backstage, do not affecting the promptness of instant messaging communication.
Accordingly, as in figure 2 it is shown, additionally provide the operating system of a kind of mobile terminal in the embodiment of the present invention, for management role, this operating system includes:
Grouped element 20, for being divided into instant messaging IM task groups and non-IM task groups by task;
Allocation unit 22, for the task in IM task groups is assigned to IM task queue, is assigned to the task in non-IM task groups non-IM task queue, and distributes the task in thread execution IM task queue and non-IM task queue.
Or/and, also include in following two unit is one or more, is illustrated in figure 3 situation about all including.
Adjustment unit 24, adjusts the priority of the tasks carrying of non-IM task queue for the tasks carrying situation according to IM task queue.
Signal generating unit 26, not enough for the thread when performing in IM task queue and non-IM task queue of task, and when current thread number is not up to predetermined total number of threads, generate new thread with execution task.
Readjustment unit 28, processes data processing operation for calling call back function in described thread, when described thread is finished, recalls another readjustment and runs for the thread changing interface display.
Operating system in embodiments of the present invention uses corresponding class management role, i.e.
Class worker, is used for managing thread, and each worker carries a task, and obtains a thread operation task;
Class executor, is used for managing worker queue, and each executor manages a worker queue, and described worker queue is divided into IM task queue and non-IM task queue according to the task type in queue;
When performing when there being new task to need, it is judged that whether existing worker quantity arrives the upper limit, if not arriving, then generating new worker to perform described new task, if reaching the upper limit, then new task being added task queue medium pending;
Or also include, after the tasks carrying that carries as worker is complete, obtains the next task in worker queue, and when obtaining mission failure, trigger worker recession function and reclaim idle worker.
Term in the specific embodiment of aforesaid operations system is all consistent with preceding method embodiment with step, repeats the most one by one.
By foregoing description, for the operating system in some mobile terminals, its task quantity is to write dead quantity system burns into ROM when, and major part is 5 threads.And in embodiments of the present invention, self-defining sets of threads number of threads, the number of threads that dynamically can change in code when existing thread deficiency, so number of threads is controlled;Meanwhile, by being grouped by thread, IM group and non-IM group are taked thread management method as above, the executor of non-IM can go back to inquire the busy degree of IM executor respectively, then determine the speed of oneself distribution task.Thus, it is achieved that a kind of customizable number of threads, scheme, it is ensured that the speed of data is downloaded simultaneously in backstage, does not affect IM and communicates promptness.
One of ordinary skill in the art will appreciate that all or part of flow process realizing in above-described embodiment method, can be by computer program and complete to instruct relevant hardware, described program can be stored in a computer read/write memory medium, this program is upon execution, it may include such as the flow process of the embodiment of above-mentioned each method.Wherein, described storage medium can be magnetic disc, CD, read-only store-memory body (Read-Only Memory, ROM) or random store-memory body (Random Access Memory, RAM) etc..
Above disclosed it is only one preferred embodiment of the present invention, certainly can not limit the interest field of the present invention, the equivalent variations therefore made according to the claims in the present invention with this, still belong to the scope that the present invention is contained.

Claims (10)

1. a task management method, in the operating system of mobile terminal, it is characterised in that described side Method includes:
Task is divided into instant messaging IM task groups and non-IM task groups;
Task in IM task groups is assigned to IM task queue, the task in non-IM task groups is distributed To non-IM task queue, and distribute the task in thread execution IM task queue and non-IM task queue;
Described method also includes,
Using class worker management thread, each worker carries a task, and obtains a thread operation Task;
Using the management worker queue of class executor, each executor manages a worker queue, institute State worker queue and be divided into IM task queue and non-IM task queue according to the task type in queue;
When performing when there being new task to need, it is judged that whether existing worker quantity arrives the upper limit, if not arriving Reach, then generate new worker to perform described new task, if reaching the upper limit, then new task is added and appoint Business queue is medium pending.
2. the method for claim 1, it is characterised in that described method also includes:
Tasks carrying situation according to IM task queue adjusts the preferential of the tasks carrying of non-IM task queue Level.
3. the method for claim 1, it is characterised in that described distribution thread performs IM task team Task in row and non-IM task queue includes:
When the thread of performing in IM task queue and non-IM task queue of task is not enough, and current thread number When being not up to the most predetermined total number of threads, generate new thread with execution task.
4. the method for claim 1, it is characterised in that described method is additionally included in described thread Call call back function and process data processing operation, when described thread is finished, recall another readjustment fortune Row is for changing the thread of interface display.
5. the method for claim 1, it is characterised in that after tasks carrying that worker carries is complete, Obtain the next task in worker queue, and when obtaining mission failure, trigger worker recession function Reclaim idle worker.
6. a mobile terminal, it is characterised in that described mobile terminal includes:
Grouped element, for being divided into instant messaging IM task groups and non-IM task groups by task;
Allocation unit, for being assigned to IM task queue by the task in IM task groups, by non-IM task Task in group is assigned to non-IM task queue, and distributes thread execution IM task queue and non-IM task Task in queue;
Described mobile terminal also includes,
Class worker, is used for managing thread, and each worker carries a task, and obtains a thread fortune Row task;
Class executor, is used for managing worker queue, and each executor manages a worker queue, Described worker queue is divided into IM task queue and non-IM task queue according to the task type in queue;
When performing when there being new task to need, it is judged that whether existing worker quantity arrives the upper limit, if not arriving Reach, then generate new worker to perform described new task, if reaching the upper limit, then new task is added and appoint Business queue is medium pending.
7. mobile terminal as claimed in claim 6, it is characterised in that described mobile terminal also includes:
Adjustment unit, adjusts appointing of non-IM task queue for the tasks carrying situation according to IM task queue The priority that business performs.
8. mobile terminal as claimed in claim 6, it is characterised in that described mobile terminal also includes:
Signal generating unit, not enough for the thread when performing in IM task queue and non-IM task queue of task, And current thread number is when being not up to predetermined total number of threads, generate new thread with execution task.
9. mobile terminal as claimed in claim 6, it is characterised in that described mobile terminal also includes:
Readjustment unit, processes data processing operation, when described line for calling call back function in described thread Journey is finished, and recalls another readjustment and runs for the thread changing interface display.
10. mobile terminal as claimed in claim 8, it is characterised in that the tasks carrying that worker carries After complete, obtain the next task in worker queue, and when obtaining mission failure, trigger worker and return Receive function and reclaim idle worker.
CN201110110670.5A 2011-04-29 2011-04-29 A kind of task management method and mobile terminal Active CN102760082B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110110670.5A CN102760082B (en) 2011-04-29 2011-04-29 A kind of task management method and mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110110670.5A CN102760082B (en) 2011-04-29 2011-04-29 A kind of task management method and mobile terminal

Publications (2)

Publication Number Publication Date
CN102760082A CN102760082A (en) 2012-10-31
CN102760082B true CN102760082B (en) 2016-09-14

Family

ID=47054547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110110670.5A Active CN102760082B (en) 2011-04-29 2011-04-29 A kind of task management method and mobile terminal

Country Status (1)

Country Link
CN (1) CN102760082B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179294B (en) * 2013-03-12 2015-04-08 厦门亿联网络技术股份有限公司 Method for preventing task congestion in VOIP (voice over internet protocols) phone through thread pool
CN103279331A (en) * 2013-05-31 2013-09-04 中国电子科技集团公司第十五研究所 Multi-task concurrent processing method and device for Android system
CN106293670B (en) * 2015-06-03 2020-03-20 阿里巴巴集团控股有限公司 Event processing method and device and server
CN105450551B (en) * 2015-12-07 2019-04-09 贵阳朗玛信息技术股份有限公司 A kind of method and download server for downloading live stream
CN105930208A (en) * 2016-04-01 2016-09-07 广州华多网络科技有限公司 Thread scheduling method and thread scheduling apparatus
CN109408208B (en) * 2018-09-21 2022-04-01 深圳华大北斗科技股份有限公司 Multitasking method, device and system of navigation chip and storage medium
CN109379271B (en) * 2018-10-16 2021-04-27 金瓜子科技发展(北京)有限公司 Service interaction method, equipment and storage medium based on IM

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867891A (en) * 2002-05-31 2006-11-22 德拉华州大学 Method and apparatus for real-time multithreading
CN101882161A (en) * 2010-06-23 2010-11-10 中国工商银行股份有限公司 Application level asynchronous task scheduling system and method
CN101883086A (en) * 2010-03-15 2010-11-10 浪潮集团山东通用软件有限公司 Method for realizing Comet function under ASP.NET environment
CN101894045A (en) * 2010-06-18 2010-11-24 阳坚 Real-time Linux operating system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402466B2 (en) * 2009-02-17 2013-03-19 International Business Machines Corporation Practical contention-free distributed weighted fair-share scheduler

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867891A (en) * 2002-05-31 2006-11-22 德拉华州大学 Method and apparatus for real-time multithreading
CN101883086A (en) * 2010-03-15 2010-11-10 浪潮集团山东通用软件有限公司 Method for realizing Comet function under ASP.NET environment
CN101894045A (en) * 2010-06-18 2010-11-24 阳坚 Real-time Linux operating system
CN101882161A (en) * 2010-06-23 2010-11-10 中国工商银行股份有限公司 Application level asynchronous task scheduling system and method

Also Published As

Publication number Publication date
CN102760082A (en) 2012-10-31

Similar Documents

Publication Publication Date Title
CN102760082B (en) A kind of task management method and mobile terminal
CN115328663B (en) Method, device, equipment and storage medium for scheduling resources based on PaaS platform
CN103561049A (en) Method for processing terminal scheduling request, system thereof and device thereof
CN105468302B (en) A kind of method, apparatus and system of processing data
CN110162388A (en) A kind of method for scheduling task, system and terminal device
CN108665239A (en) Workflow processing method, device, computer equipment and storage medium
US20220417362A1 (en) Object oriented call management
CN109766172A (en) A kind of asynchronous task scheduling method and device
CN108366098A (en) A kind of data interactive method and device of network node
CN105791166A (en) Load balanced distribution method and system
CN107025131A (en) A kind of method for scheduling task and device
CN102883309A (en) Method and device for machine-to-machine (M2M) communication
CN110569124A (en) Task allocation method and device
CN109871266A (en) Task delay process method, apparatus, computer installation and storage medium
CN111291053B (en) Workflow data processing method and device and workflow data processing platform
CN107025126B (en) Resource scheduling method, NFVO and system
CN107729030A (en) Method for displaying user interface, device, storage medium and the terminal of client-side program
CN109040491B (en) Hanging-up behavior processing method and device, computer equipment and storage medium
CN110400043A (en) Order allocation method, device, equipment and storage medium
CN107944798A (en) Intelligent goods dispatch method and system
CN109062703A (en) The method, apparatus of task execution resource, executes equipment and medium at controlling equipment
CN111045778B (en) Virtual machine creation method, device, server and storage medium
CN113869841A (en) Workflow control method, system and storage medium
CN117009060B (en) Resource scheduling method, device, equipment and storage medium
CN114584625B (en) Message processing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant