CN109802868B - Mobile application real-time identification method based on cloud computing - Google Patents

Mobile application real-time identification method based on cloud computing Download PDF

Info

Publication number
CN109802868B
CN109802868B CN201910024609.5A CN201910024609A CN109802868B CN 109802868 B CN109802868 B CN 109802868B CN 201910024609 A CN201910024609 A CN 201910024609A CN 109802868 B CN109802868 B CN 109802868B
Authority
CN
China
Prior art keywords
data
node
data packet
router
identification
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
CN201910024609.5A
Other languages
Chinese (zh)
Other versions
CN109802868A (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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201910024609.5A priority Critical patent/CN109802868B/en
Publication of CN109802868A publication Critical patent/CN109802868A/en
Application granted granted Critical
Publication of CN109802868B publication Critical patent/CN109802868B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a mobile application real-time identification method based on cloud computing, which comprises the steps of constructing a cluster consisting of multiple computers, expanding computing resources, identifying a plurality of classifiers in parallel, avoiding the crash of the whole system caused by the crash of a node in the cluster and improving the stability of the system; captured data is forwarded by taking a data packet rather than a data stream as a unit, so that the waste of system resources caused by waiting for receiving the data is reduced, and the effect of real-time identification is achieved; for the situation that a new application type to be identified needs to be added, the model does not need to be retrained, the original identification model is used as usual, and the identification effect of the new application can be obtained only by collecting relevant data of the new application, training the new identification model and running the new identification model and the old model in parallel.

Description

Mobile application real-time identification method based on cloud computing
Technical Field
The invention relates to a mobile application real-time identification method based on cloud computing.
Background
The traditional application identification technology mainly analyzes the load information and the flow statistical characteristics of a data packet and uses a deep packet inspection and deep flow inspection technology to carry out application identification. With the increasing complexity of network environments, these traffic identification techniques are becoming ineffective. In recent years, machine learning methods are used for network traffic classification, the performance of the machine learning methods is improved compared with that of traditional methods, but fine-grained application identification cannot be realized due to the characteristics of shallow network structures, and meanwhile, machine learning is very dependent on the characteristics of traffic data, and a large amount of manpower and time are required to be consumed for characteristic extraction. Therefore, a mobile application recognition algorithm based on deep learning is proposed. The algorithm comprehensively considers the respective characteristics of the data packets in the data stream, identifies the mobile application in a time limit manner by extracting and classifying single data packets and carrying out weighted statistics on the whole data stream, and has the characteristics of high identification accuracy, fine granularity and high efficiency. The average recognition accuracy of the system for common 15-class applications in 5-class is close to 80%.
The prior art solves the problems that the traditional application identification technology cannot cope with complex network environment and machine learning needs to manually extract flow characteristics on the aspect of algorithm. However, there are two problems with the implementation:
firstly, the algorithm locally buffers the captured data packets according to the TCP connection packets in the identification phase, and after the TCP flows are ended, the data packets are collectively sent to a data processing module for classification, and the classification process is shown in FIG. 1. When all current TCP connections are not finished, no data stream is submitted to the data processing module, and the classifier module process is suspended, resulting in a waste of system computing resources, especially GPU resources.
Secondly, a wireless network may have hundreds of terminals connected, each terminal may use an application that generates a large amount of instantaneous traffic, at this time, traffic flowing through a router reaches a maximum bandwidth, the amount of instantaneously generated data streams is large, and when the classifier module currently has an identification task, subsequently received data streams must wait. When the waiting queue is long, the real-time performance cannot be guaranteed, and the memory of the computer is exhausted to cause the breakdown of the classifier module.
The existing technology can only identify the application within the designated range, and if a new application type needs to be added, the model must be retrained, which causes unnecessary time waste.
Disclosure of Invention
The invention aims to provide a mobile application real-time identification method based on cloud computing.
In order to achieve the purpose, the invention specifically adopts the following technical scheme:
the mobile application real-time identification method based on cloud computing comprises the following steps:
(1) when a router packet capturing module is started, after initialization of cloud parameters is finished, a plurality of nodes are started by default to receive forwarded data packets, the number of the started nodes is automatically adjusted according to the real-time flow condition of the router, and a used depth model is selected;
(2) the mobile terminal establishes communication with the router through Wi-Fi, when data traffic is generated, the router realizes a load balancing algorithm and sends a captured data packet to a proper receiving node of a cloud end;
(3) each active node of the cloud executes a deep learning network and resides the network in a process, and after receiving the data packet, the data packet is classified through the deep learning network running by the active node of the cloud to obtain a classification result, and the classification result is returned to the router;
(4) after receiving the identification result of one data packet, the router counts the identification parameters of the corresponding data stream, calculates the final identification result of the whole data stream when all the data packets of the data stream have returned the identification result, and writes the final identification result into the database;
(5) when a new application to be identified appears, collecting data of a plurality of new applications to form a training data set, training a new depth model, distributing the new depth model and an old identification model on different cloud nodes, performing joint operation, and expanding an identification range;
(6) if the data stream is identified as an unknown application in step (4), the data stream is saved locally as a feature sample of the new application type and used to train the new identification model.
The mobile application real-time identification method based on cloud computing provided by the invention has the following advantages:
(1) the router node does not wait for the whole data flow to be forwarded after finishing, but directly forwards the data packet after receiving the data packet, and the problem of computing resource waste caused by that no data is submitted to the data processing module for a long time is solved.
(2) When the router nodes transmit, the flow is transmitted to all the computers in the cloud according to the difference of the calculated force, the problem that a single node loses data packets due to low recognition speed is avoided, and the system still normally operates even under huge flow pressure.
(3) The invention also counts the flow passing through the router while identifying the application, thereby monitoring the flow, such as limiting the network speed of a specific mobile terminal.
(4) An application recognition system is typically only valid for a range of application types. The invention realizes the incremental identification on the cloud computing platform, can well solve the problem that the original application identification method can only identify the application in a certain range, and keeps the expandability of the system.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principles of the invention:
FIG. 1 is a flow chart of a background art application for identifying TCP flows;
FIG. 2 is a flow chart of parallel recognition of a single model based on cloud computing according to the present invention;
FIG. 3 is a schematic diagram of cloud computing-based multi-model incremental recognition in the present invention.
Detailed Description
The present invention will now be described in detail with reference to the drawings and specific embodiments, wherein the exemplary embodiments and descriptions of the present invention are provided to explain the present invention without limiting the invention thereto.
A mobile application real-time identification method based on cloud computing is characterized by comprising the following steps:
(1) a cluster formed by multiple computers is constructed, computing resources are expanded, multiple classifiers are identified in parallel, the whole system is prevented from being crashed due to the fact that one node in the cluster crashes, and the stability of the system is improved.
(2) The invention uses the data packet instead of the data stream as a unit to forward the captured data, reduces the system resource waste caused by waiting for receiving the data and achieves the effect of real-time identification.
(3) For the situation that a new application type to be identified needs to be added, the model does not need to be retrained, the original identification model is used as usual, and the identification effect of the new application can be obtained only by collecting relevant data of the new application, training the new identification model and running the new identification model and the old model in parallel.
Wherein, regarding the load balancing, the step is as follows:
step 1: the router node starts the packet capturing module, starts the cloud server node according to the number of the application identification models, loads the models and waits for data transmission, and at the moment, the router waits for the connection of the terminal. The compiling of the packet capturing module is combined by libpcap and Linux Socket, and the intercepted wireless network uses a wireless hotspot started by a Linux system. The packet capturing module can also be compiled by adopting an OpenWRT intelligent router, and can also complete all functions of the step 1 in a mode of compiling a libpcap packet capturing and forwarding program belonging to OpenWRT.
Step 2: when a data packet is captured, the router records the number of the data packet and the number of the data stream to which the data packet belongs, forwards the content of the data packet, the number of the data packet and the like to a proper node through a socket, and receives the identification result of the data packet.
And step 3: the node server at the cloud receives a data packet, which includes a data packet number, a MAC address of the terminal, information content of the data packet, and the like. And the node server outputs the data information to the recognition result through the neural network and returns the data information to the router node. And then waits for the next packet. The flow chart is shown in fig. 2.
The recognition system works by loading a deep learning neural network. The system resource occupied by a deep learning neural network is proportional to the parameters of the neural network. Therefore, under the condition of certain hardware equipment, one computer or more than 2 neural networks can be loaded to operate simultaneously, and each identification module can respectively receive data packets and return identification results to the router by sharing the IP address of the computer and using different ports. Therefore, the situation that one computer node runs a plurality of identification modules can be equivalent to the situation that a plurality of nodes run simultaneously.
And 4, step 4: when the router node detects that the flow passing through the router node is large and the identification speed of the current active node cannot support the flow generation speed, the idle node of the cloud end is started, and an application identification model with the highest occurrence frequency in the latest identification result is deployed for the idle node.
For the forwarding operation in step 2, the flow is as follows:
step 2.1: the router captures the data packet. The packet count is incremented by 1 to record the instantaneous flow rate per second. The timer expires, the count is reset to 0, and the count before the reset is used to determine whether to increase or decrease the active node, so as to reasonably control the system resource usage.
Step 2.2: the router numbers the captured data packets, searches the data packet attribution in the data flow cache (if a connection packet is established for SYN, a data flow is directly newly established), adds the numbers, and then selects a target packet sending node from the active node table. The next target node may be decided in a sequential round robin fashion. Assuming that there are 5 cloud active nodes, numbered 0,1,2,3,4, if the last packet is sent to node 0, the next packet is sent to node 1, the next packet is sent to node 2, and so on, when the last node is sent, the next target returns to node 0. According to the difference of the computing power of each node, each round or a part of the nodes can receive a plurality of data packets.
Step 2.3: and 3, sending a data packet to the active node at the cloud end, and waiting for the result response of the step 3.
Step 2.4: after all the data packets in a data stream obtain the identification results, the router node performs weighted average on the identification results of all the data packets, takes the maximum value as the identification result of the stream, and stores the identification result in the database.
Step 2.5: it is checked whether a termination signal has occurred and if not, it returns to step 2.1 to prepare for sending the next data packet. If yes, the packet capturing procedure is terminated. The termination signal is introduced to ensure that the communication ports of the router and the socket of each node are normally closed.
For the recognition process in the step 3, the recognition module adds a socket interface on the basis of a mobile application recognition program based on deep learning, so that the process is not exited after the neural network model is trained or loaded, the neural network activity is kept, and then the following steps are carried out:
step 3.1: and starting the socket to receive the data packet.
Step 3.2: and the received data packet is used as an input parameter of the network, and the identification result is normally output and returned to the router.
The expansion cloud activity node in the step 4 can be divided into the following steps:
step 4.1: the instantaneous flow of the router reaches a value (for example, 1000 frames/second), and the number of data packets that can be accurately received by the cloud node is reduced due to the limitation of the computing capability. A cloud-side idle node is started to become an active node.
Step 4.2: and analyzing the latest recognition result list, and counting the application group serial numbers belonging to the recognition models.
Step 4.3: the model of the application group with the highest sequence number will be deployed to the new active node. And if the occurrence frequency of the application group serial numbers is a plurality of the application group serial numbers which are very close to the highest value, distributing cloud-end idle nodes for the models of the application groups at the same time.
Regarding incremental identification under cloud computing, the steps are as follows:
step 1: data for the new application is collected as a data set and a new recognition model is trained. And copying to all the cloud end nodes after training.
Step 2: and when the router node sends a starting request to the cloud idle node, the router node appoints the model parameters. The cloud node selects to load a specified one of the recognition models. When different recognition models coexist, a data packet will pass through the several models simultaneously, and then obtain the probability result of all the applications. And weighting and counting the results to obtain the identification result of the data packet.
And step 3: and when the recognition result in the step 2 is still an unknown application, keeping the data flow of the unknown application as a data set used for training a new recognition model by the application. The training labels can be obtained by analyzing an application layer protocol by a DPI technology and the like.
The step 2 can be divided into the following substeps:
the same or different identification models may be loaded on each node of the cloud, and when the router node forwards the cloud node combinations with different models, the router node forwards each cloud node only once. And for the cloud node combinations with the same model, the router node only forwards one of the cloud nodes once when forwarding.
Secondly, when the probability results are weighted and counted, each classification result is very close and cannot exceed a certain threshold value when passing through an identification model which does not contain correct answers, as shown in fig. 3. Therefore, the weight of each probability is defined to be higher as the probability is higher, and a weight function is defined according to different situations.
The step 3 can be divided into the following substeps:
the data traffic identified as unknown application is stored locally, and the label can be temporarily recorded as information such as an IP address and the like which possibly represents the identity of the mobile application.
If a group of data traffic indicated by the same label generates information capable of representing the application name, the original label is changed into the information.
The technical solutions provided by the embodiments of the present invention are described in detail above, and the principles and embodiments of the present invention are explained herein by using specific examples, and the descriptions of the embodiments are only used to help understanding the principles of the embodiments of the present invention; meanwhile, for a person skilled in the art, according to the embodiments of the present invention, there may be variations in the specific implementation manners and application ranges, and in summary, the content of the present description should not be construed as a limitation to the present invention.

Claims (5)

1. A mobile application real-time identification method based on cloud computing is characterized by comprising the following steps:
(1) when a router packet capturing module is started, after initialization of cloud parameters is finished, a plurality of nodes are started by default to receive forwarded data packets, the number of the started nodes is automatically adjusted according to the real-time flow condition of the router, and a used depth model is selected;
(2) the mobile terminal establishes communication with the router through Wi-Fi, when data traffic is generated, the router realizes a load balancing algorithm according to hardware conditions and computing power of all cloud end nodes, and sends a captured data packet to a proper receiving node of the cloud end;
(3) each active node of the cloud executes a deep learning network and resides the network in a process, and after receiving the data packet, the data packet is classified through the deep learning network running by the active node of the cloud to obtain a classification result, and the classification result is returned to the router;
(4) after receiving the identification result of one data packet, the router counts the identification parameters of the corresponding data stream, calculates the final identification result of the whole data stream when all the data packets of the data stream have returned the identification result, and writes the final identification result into the database;
(5) when a new application to be identified appears, collecting data of a plurality of new applications to form a training data set, training a new depth model, distributing the new depth model and an old identification model on different cloud nodes, performing joint operation, and expanding the identification range;
(6) if the data stream is identified as an unknown application in step (4), the data stream is saved locally as a feature sample of the new application type and used to train the new identification model.
2. The method for real-time identification of mobile applications based on cloud computing as claimed in claim 1, wherein the specific process of automatically adjusting the number of the start nodes according to the real-time traffic condition of the router in step (1) is as follows:
defining a counter, counting the number of data packets flowing through the router in a period of time, taking the number as reference, adjusting the number of cloud nodes participating in operation, and maintaining an active node table.
3. The cloud-computing-based mobile application real-time identification method according to claim 1, wherein the router load balancing algorithm in the step (2) is as follows:
step 1: the router node starts a packet capturing module, starts a cloud server node according to the number of the application identification models, loads the models and waits for data transmission, and at the moment, the router waits for connection of a terminal;
step 2: when a data packet is captured, the router records the number of the data packet and the number of the data stream to which the data packet belongs, forwards the content of the data packet, the number of the data packet and the like to a proper node through a socket, and receives the identification result of the data packet;
and step 3: the node server at the cloud end receives a data packet which comprises a data packet number, an MAC (media access control) address of a terminal and information content of the data packet, outputs an identification result of the data information through a neural network, returns the identification result to the router node, and then waits for the next data packet;
and 4, step 4: when the router node detects that the flow passing through the router node is large and the identification speed of the current active node cannot support the flow generation speed, the idle node of the cloud end is started, and an application identification model with the highest occurrence frequency in the latest identification result is deployed for the idle node.
4. The cloud-computing-based mobile application real-time identification method of claim 1, wherein the cloud end node classification process in the step (3) is as follows:
each cloud node stores a series of recognition model files for recognizing based on deep learning, the recognition model files are loaded according to needs, and when a starting signal is received, the recognition model files needing to be loaded are analyzed;
after the model loading is finished, adding a socket communication interface for receiving and reading a data packet to be identified and the serial number of the data packet;
after receiving the data packet, the node directly uses the data packet as the input of the neural network, the output layer outputs a classification result, and the classification result and the data packet number are returned to the router.
5. The cloud computing-based mobile application real-time identification method according to claim 1, wherein the process of step (5) is as follows:
collecting new application data as a data set, training a new recognition model, and copying the new recognition model to all cloud end nodes after training;
when a router node sends a starting request to a cloud idle node, model parameters are appointed, the cloud node selects and loads an appointed recognition model, when different recognition models coexist, a data packet passes through the models at the same time, then probability results of all applications are obtained, and the results are weighted and counted to serve as recognition results of the data packet;
when the recognition result of the data packet is still unknown application, the data flow of the data packet is reserved and used as a data set for training a new recognition model of the application.
CN201910024609.5A 2019-01-10 2019-01-10 Mobile application real-time identification method based on cloud computing Active CN109802868B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910024609.5A CN109802868B (en) 2019-01-10 2019-01-10 Mobile application real-time identification method based on cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910024609.5A CN109802868B (en) 2019-01-10 2019-01-10 Mobile application real-time identification method based on cloud computing

Publications (2)

Publication Number Publication Date
CN109802868A CN109802868A (en) 2019-05-24
CN109802868B true CN109802868B (en) 2022-05-06

Family

ID=66557025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910024609.5A Active CN109802868B (en) 2019-01-10 2019-01-10 Mobile application real-time identification method based on cloud computing

Country Status (1)

Country Link
CN (1) CN109802868B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760523A (en) * 2020-11-16 2021-12-07 北京沃东天骏信息技术有限公司 Redis high hot spot data migration method
CN113792852B (en) * 2021-09-09 2024-03-19 湖南艾科诺维科技有限公司 Signal modulation mode identification system and method based on parallel neural network
CN115378742B (en) * 2022-10-25 2023-03-24 北京创新乐知网络技术有限公司 Data processing method and device based on cloud computing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516027A (en) * 2016-01-12 2016-04-20 北京奇虎科技有限公司 Application identification model establishing method, and flow data identification method and device
CN107508866A (en) * 2017-08-08 2017-12-22 重庆大学 Reduce the method for the transmission consumption of mobile device end neural network model renewal
CN108021819A (en) * 2016-11-04 2018-05-11 西门子保健有限责任公司 Anonymity and security classification using deep learning network
CN108108624A (en) * 2017-12-18 2018-06-01 北京邮电大学 Information security method for evaluating quality and device based on products & services
CN108173708A (en) * 2017-12-18 2018-06-15 北京天融信网络安全技术有限公司 Anomalous traffic detection method, device and storage medium based on incremental learning
CN108462707A (en) * 2018-03-13 2018-08-28 中山大学 A kind of mobile application recognition methods based on deep learning sequence analysis
CN108828944A (en) * 2018-06-21 2018-11-16 山东大学 Based on the encoder fault diagnostic system and method for improving PSO and SVM
CN109167680A (en) * 2018-08-06 2019-01-08 浙江工商大学 A kind of traffic classification method based on deep learning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015134665A1 (en) * 2014-03-04 2015-09-11 SignalSense, Inc. Classifying data with deep learning neural records incrementally refined through expert input
US11379695B2 (en) * 2016-10-24 2022-07-05 International Business Machines Corporation Edge-based adaptive machine learning for object recognition

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516027A (en) * 2016-01-12 2016-04-20 北京奇虎科技有限公司 Application identification model establishing method, and flow data identification method and device
CN108021819A (en) * 2016-11-04 2018-05-11 西门子保健有限责任公司 Anonymity and security classification using deep learning network
CN107508866A (en) * 2017-08-08 2017-12-22 重庆大学 Reduce the method for the transmission consumption of mobile device end neural network model renewal
CN108108624A (en) * 2017-12-18 2018-06-01 北京邮电大学 Information security method for evaluating quality and device based on products & services
CN108173708A (en) * 2017-12-18 2018-06-15 北京天融信网络安全技术有限公司 Anomalous traffic detection method, device and storage medium based on incremental learning
CN108462707A (en) * 2018-03-13 2018-08-28 中山大学 A kind of mobile application recognition methods based on deep learning sequence analysis
CN108828944A (en) * 2018-06-21 2018-11-16 山东大学 Based on the encoder fault diagnostic system and method for improving PSO and SVM
CN109167680A (en) * 2018-08-06 2019-01-08 浙江工商大学 A kind of traffic classification method based on deep learning

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Deep learning for real-time robust facial expression recognition on a smartphone";Inchul Song,et al.,;《2014 IEEE International Conference on Consumer Electronics (ICCE)》;20140320;全文 *
"基于增量式GHSOM神经网络模型的入侵检测研究";杨雅辉,;《计算机学报》;20140531(第5期);全文 *
"基于深度学习的网络流量分类及异常检测方法研究";王伟,;《中国博士学位论文全文数据库 (信息科技辑)》;20181115;全文 *

Also Published As

Publication number Publication date
CN109802868A (en) 2019-05-24

Similar Documents

Publication Publication Date Title
CN109802868B (en) Mobile application real-time identification method based on cloud computing
JP5727106B2 (en) Radio resource optimization method, radio resource optimization apparatus, and radio resource optimization system
CN106972985B (en) Method for accelerating data processing and forwarding of DPI (deep packet inspection) equipment and DPI equipment
CN113206860B (en) DRDoS attack detection method based on machine learning and feature selection
US20190356564A1 (en) Mode determining apparatus, method, network system, and program
CN113485792B (en) Pod scheduling method in kubernetes cluster, terminal equipment and storage medium
CN110825545A (en) Cloud service platform anomaly detection method and system
CN102413054B (en) Method, device and system for controlling data traffic as well as gateway equipment and switchboard equipment
Ahmed et al. Predicting high delays in mobile broadband networks
CN108063814B (en) Load balancing method and device
JP2023525112A (en) Method and device for detecting user data of user equipment UE and storage medium
CN115514720B (en) User activity classification method and application for programmable data plane
CN114666282B (en) Machine learning-based 5G flow identification method and device
CN115665259A (en) Encrypted HTTP request acquisition device, system and method
WO2021218528A1 (en) Traffic identification method and traffic identification device
WO2022001480A1 (en) Popular application identification method, network system, network device and storage medium
CN114422309A (en) Method for analyzing service message transmission effect based on abstract feedback comparison mode
CN113765891A (en) Equipment fingerprint identification method and device
CN112866267A (en) System, method, equipment and storage medium for dynamically identifying and dividing network service
CN114257526A (en) In-band telemetry system, method and device
CN112436979A (en) Cloud network traffic acquisition method and system
WO2022179352A1 (en) Acquisition cycle determining method, apparatus and system, device, and storage medium
CN111641698B (en) Data statistical method, system, equipment and storage medium
CN114785857B (en) Dynamic adaptation method, system and storage medium for bandwidth resources of Internet of things
CN116528314B (en) 5G access network communication method, system, equipment and 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