CN109634746B - Web cluster cache utilization system and optimization method - Google Patents

Web cluster cache utilization system and optimization method Download PDF

Info

Publication number
CN109634746B
CN109634746B CN201811481419.8A CN201811481419A CN109634746B CN 109634746 B CN109634746 B CN 109634746B CN 201811481419 A CN201811481419 A CN 201811481419A CN 109634746 B CN109634746 B CN 109634746B
Authority
CN
China
Prior art keywords
value
server
target web
node
database table
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
CN201811481419.8A
Other languages
Chinese (zh)
Other versions
CN109634746A (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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201811481419.8A priority Critical patent/CN109634746B/en
Publication of CN109634746A publication Critical patent/CN109634746A/en
Application granted granted Critical
Publication of CN109634746B publication Critical patent/CN109634746B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

The invention discloses a utilization system of web cluster cache, which consists of a load balancing server, a data analysis server and a web cluster server, wherein the web cluster server consists of a plurality of target web servers. The utilization system of the web cluster cache can effectively solve the problems that the request list of the hot point data in a certain time period changes in the existing web cluster cache system, and the web server is guided to cache the database table according to the next analysis of the data analysis server, so that the cache content of the web server is frequently updated, the cache hit rate is reduced, and the system fluctuates.

Description

Web cluster cache utilization system and optimization method
Technical Field
The invention relates to the technical field of computer networks, in particular to a utilization system and an optimization method of web cluster cache.
Background
With the further development of cloud computing and Web 2.0, many enterprises or organizations are often faced with more demands: large numbers of concurrent user accesses, thousands of concurrent transactions per second, flexible elasticity and scalability, low latency, etc., traditional transactional applications are beginning to transition to extreme transactional applications. The cluster cache is a key limit transaction processing technology, and can provide a technical solution with high throughput and low delay for transactional applications. The delayed write mechanism can provide shorter response time, greatly reduces the transaction processing load of the database, and supports large-scale and highly-concurrent transaction processing requests by a staged event-driven architecture. In addition, the cluster cache manages transactions in the memory and provides data consistency guarantee, and the data replication technology is adopted to realize high availability, so that the cluster cache has better expansibility and performance combination.
Disclosure of Invention
The invention aims to provide a utilization system and an optimization method of a web cluster cache based on the background technology, and solves the technical problems that in the prior art, with the change and increase of system services, the hot spot data requested by a user is possibly changed, when a request list of the hot spot data is changed in a certain time period, the web server is guided to perform database table caching according to the next analysis of a data analysis server, so that the cached content of the web server is frequently updated, the cache hit rate is reduced, and the system fluctuates.
In order to achieve the technical effects, the invention adopts the following technical scheme:
a utilization system of web cluster cache is composed of a load balancing server, a data analysis server and a web cluster server, wherein the web cluster server is composed of a plurality of target web servers;
the data analysis server is used for recording and counting log information requested by a user, and obtaining a classification standard containing two fields of a database table to be accessed and a target server linked list according to the historical hotspot record and the node probability linked list; the load balancing server is used for determining a target web server of the user request according to the classification standard determined by the data analysis server, forwarding the user request to the corresponding target web server, and traversing the linked list set of the alternative target web servers by moving the pointer to realize load balancing; the target web server is used for receiving the user request forwarded by the load balancing server, caching the database table with higher user request amount into the memory, and directly reading corresponding data in the database table from the memory to generate a result and returning the result when receiving the corresponding user request.
The optimization method of the Web cluster cache comprises a data preprocessing flow and a request forwarding processing flow, wherein the data preprocessing flow comprises the steps of completing the recording, statistics and analysis of user requests, loading a database table to be accessed before a target Web server corresponding to the user requests is promoted, the request forwarding processing flow comprises the steps of comparing the received user requests with classification standards through a load balancing server, determining the target Web server corresponding to the requests to forward and complete the forwarding of the requests, receiving and processing the user requests through the target Web server, and finally returning results.
Further, the data preprocessing flow specifically includes the following steps:
s1: setting the attenuation process of the node probability according to the characteristic that the service change of the system is fast and slow:
s1.1 determining an initial value N according to system characteristicsinit:Ninit=N0e-al
Wherein N isinitThe node is an initial value of the decay probability, and represents the importance degree of the node in the current time period in the whole historical record, N01, determining the offset of an initial value, wherein a is an attenuation coefficient and represents the change of the magnitude of the influence of time change history on future prediction, and the values of a and l are defined according to the characteristic that the service of the system changes rapidly and slowly;
s1.2 according to the completion value NfinishIs defined by the formula: n is a radical offinish=Nkf=N0e-a(m+l)Sequentially increasing the k value according to the defined parameters a and l, and calculating the completion value N of each nodefinish,NfinishThe attenuation probability completion value represents the minimum probability that the node has guiding significance for prediction, when N isfinish=Nkf=N0e-a((k+1)T+l)<NminStopping calculation, wherein the value of k is the length of the probability linked list and the historical hotspot data set linked list; wherein,NminIs NfinishThe reference value of (1) is used to indicate the lower limit of the probability weight of the historical node pair for prediction, m indicates the time interval unit is second, if the preset time interval is T, m equals kT, and k is an integer.
S1.3, respectively calculating the node probability corresponding to the integer nodes in the range of 1-k according to the k value determined in the step S1.2, wherein the calculation formula is as follows: n is a radical ofkf=N0e-a(kT+l)Storing the node probability into a node probability linked list according to the sequence from small to large;
s2, the data analysis server stores log records of a user request database in a preset time period, and each request log needs to record database table information which needs to be accessed by a user request; determining classification of user requests according to historical log records, classifying the user requests accessing the same database table into one class, and obtaining a set of initial hot spot data tables according to a twenty-eight principle;
s3, traversing the linked list records of the hot spot data for k times, and constructing key-value key value pairs by combining the node probability linked list obtained in the step S1: if the key value does not exist, the value of the node corresponding to the node probability linked list is assigned to value; if the key value already exists, the maps are sorted in descending order according to the value values by adding the probability value of the node on the basis of the value values, and a database table with the sum of the value values not more than 80% of the sum of the value values is selected as the hotspot set according to the sorting.
Further, in step S1.2, Nmin=0.2。
Further, the request forwarding processing flow specifically includes the following steps:
s4, comparing the hot spot data table set with the data tables in the historical classification standard according to the hot spot data table set and the historical classification standard obtained in the step S3, screening out the classification standard needing to be updated and a newly added hot spot data table, placing the label of a target web server corresponding to the updated classification standard back to the unallocated set, calculating the number of the required target web servers for the newly added hot spot data table according to the request amount in unit time and the transmission capacity of the target web server, and selecting the corresponding number of the target web servers from the unallocated list to construct a new classification standard;
s5: the target web server receives the classification request forwarded by the data analysis server, determines the name of a database table to be loaded, and loads the table content from the database into the memory;
s6: the load balancing server receives the user request, determines the classification of the user request according to the classification standard of the data analysis server, and determines the number of a target server from a target server set of the classification standard through a node pointed by a pointer;
s7: and the target web server receives the user request forwarded by the load balancing server, processes the content of the request, and acquires corresponding data from the memory as a result to return.
Further, the step S2 specifically includes the following steps:
s2.1, the data analysis server stores log records of a user request database in a preset time period, and each request log needs to record database table information which needs to be accessed by a user request;
s2.2, dividing the user requests for accessing the same database table into one type, counting the user request quantity of each category, sequencing according to the sequence of the request quantity from large to small, defining the categories sequenced in the top 20 percent, and generating a hot point database table set which contains the number and the classification standard of the database table;
s2.3, adding the hot spot database table set obtained in the step S2.2 into a bidirectional circular linked list of the hot spot data historical record, checking the length of the bidirectional circular linked list, and if the length of the linked list is not more than k, not performing operation; and if the length of the linked list is greater than k, deleting the next node of the bidirectional circular linked list of the hot spot data historical record.
Further, the step S3 specifically includes the following steps:
s3.1, acquiring an array set of a current node pointed by a pointer of a hotspot data table historical record, recording the moving times of the pointer to a variable i, wherein the initial value of i is 1, taking the name of a first database table from the array set, and taking the name of the database table as a key value; meanwhile, taking the node probability with the subscript of k-1 in the node probability linked list as a value, storing the key-value key value pair into a map set, sequentially taking out the names of the remaining database tables in the array set according to the value, and storing the corresponding key-value into the map set;
s3.2, before moving the pointer continuously, judging whether the next hot spot data set of the node probability linked list is empty or not, if the next hot spot data set is not empty, moving the pointer of the historical record of the hot spot data table, and if not, finishing the traversal of the set;
s3.3, respectively extracting the database indication and the corresponding probability value of any i stage from the hot spot database table and the probability linked list, when carrying out assignment operation of the map set, firstly acquiring whether the name of the current database table has a value in the map set, if so, storing the sum of the value and the node probability value as a new value in the map set, and if not, storing the node probability value as a value in the map set;
s3.4, after traversing the hot spot database table and the probability linked list, sorting the map sets in a descending order according to the value values, and finally, selecting the data table set with the sum of the value values closest to but not more than 80% of the sum of the value values as the cached hot spot data table set.
Further, the step S4 specifically includes the following steps:
s4.1, extracting the database table name from the historical classification standard, inquiring whether the extracted database table name exists in the hot spot data table set, and if so, removing the corresponding key-value key value pair in the map set; if not, deleting the corresponding classification standard, and putting the set of the target web servers back to the unallocated server list;
s4.2, database table names are taken out from the map set, enough target web servers are appointed for the classification requests according to the recorded request quantity corresponding to the database table, the number of the target web servers is calculated according to the service capacity of the target web servers and the classified user request quantity in unit time, namely the service capacity of the servers is larger than the service requested by the users, wherein the service capacity of the target web servers comprises the processing capacity and the transmission flow of the servers, and the serial numbers of the servers are written into the fields of the target servers of the classification standard in a form of a circular linked list as a set;
and S4.3, according to the definition of the target web server field, transmitting each classification standard to the corresponding single or multiple target web servers to cache the database table corresponding to the classification, and then transmitting all the classification standards to the load balancing server.
Further, the step S6 specifically includes the following steps:
s6.1, the load balancing server receives and stores all classification standards sent by the data analysis server, and a node is randomly selected from a circular linked list of a field of a target web server of each classification, so that a pointer points to the node;
s6.2, when receiving the user request, comparing the classification standard to determine the classification of the user request, and executing the following forwarding strategy:
s6.2.1 obtaining the number of the pointer pointing to the node, forwarding the user request to the target web server represented by the number, and then moving the pointer to the next node position;
s6.2.2, a new field is added to the sorting criteria for holding a set of target web server numbers for which the cpu occupancy exceeds a preset occupancy threshold,
s6.2.3 monitoring the cpu occupancy rate of the target web server in the field of the target web server, and once the cpu occupancy rate of the target web server reaches the preset occupancy rate threshold, storing the number of the target web server in the newly added field in step S6.2.2;
s6.2.4 monitoring the cpu occupancy rate of the target web server in the step S6.2.2, and when the cpu occupancy rate of the target web server falls to less than half of the preset occupancy rate threshold, inserting the corresponding number of the target web server into the circular linked list of the target web server again.
Further, the step S7 specifically includes the following steps:
s7.1, the target web server receives the classification request sent by the data analysis server, determines a database table corresponding to the classification request, and loads table contents from the database into a memory;
s7.2 the target web server receives the user request forwarded by the load balancing server, determines that the database table to be accessed by the classification of the user request is consistent with the cache content in the memory, loads data information from the memory and returns the user request.
Compared with the prior art, the invention has the following beneficial effects:
the utilization system and the optimization method of the web cluster cache can effectively solve the problems that the request list of the hot-point data in a certain time period changes in the existing web cluster cache system, and the web server is guided to cache the database table according to the next analysis of the data analysis server, so that the cache content of the web server is frequently updated, the cache hit rate is reduced, and the system fluctuates.
Drawings
FIG. 1 is a schematic diagram of a web cluster cache utilization system of the present invention.
Fig. 2 is a schematic diagram of the optimization method of the Web cluster cache according to the present invention.
Detailed Description
The invention will be further elucidated and described with reference to the embodiments of the invention described hereinafter.
Example (b):
the first embodiment is as follows:
as shown in fig. 1, a system for utilizing a web cluster cache is composed of a data analysis server, a load balancing server and a web cluster server. The data analysis server is responsible for recording and counting log information requested by a user, and obtains a classification standard containing two fields of a database table to be accessed and a target server linked list according to the historical hotspot record and the node probability linked list; the load balancing server determines and forwards user request classification according to the classification standard sent by the data analysis server, and load balancing is realized by moving a pointer to traverse a linked list set of the alternative servers; the web cluster server is responsible for caching the database table with higher user request amount into the memory, and then obtaining and returning the result from the memory after receiving the classified user request.
The data analysis server mainly comprises the following steps:
and storing the node probability to a probability linked list, namely defining a probability attenuation process according to the setting of the system, wherein the probability attenuation process comprises an attenuation initial value, an attenuation time length and an attenuation completion value, calculating the probability corresponding to each node, and storing the probability into the node probability linked list. Meanwhile, the length of the record of the historical hotspot database table is defined as k. Storing historical log records of a user request database in the current time period, wherein each request log needs to record the type of a user request and database table information corresponding to the request; and storing the historical analysis record of the hot spot data table at the previous k-1 times, wherein the hot spot data table analysis record is different from the hot spot data table historical record cached by the web server, and is a hot spot data table set record cached by the web server, which is obtained by the data analysis server according to the historical log requested by the user in the current time period, and is called an initial hot spot data table set, and a hot spot data table set obtained by using historical record prediction is called a cached hot spot data table set. And storing the last classification standard, including the database table name and the corresponding target server. The method specifically comprises the following steps:
firstly, setting the attenuation process of the node probability according to the characteristic of the system that the service changes rapidly and slowly:
specifically, the initial value N of the probability of attenuationinitThe formula of (1) is: n is a radical ofinit=N0e-alInitial value of decay probability NinitRepresenting the degree of importance of the node of the current time period in the entire history, N01, l determines the offset of the initial value. Control l can change the size of the initial value. In a system with rapid service change and more new services, the initial value of attenuation can be set higher to compensate the ratio of new service data in history prediction; in a system with less service change, the initial value of attenuation can be set lower, so that the probability ratio of new service data is reduced. a represents the attenuation coefficient, representing the change in magnitude of the effect of the history on future predictions over time.
The determination method of a and l comprises the following specific steps: analyzing records and scores of servers from dataAnd analyzing to obtain an initial hot spot data table set, wherein the length is assumed to be k. And analyzing by using any continuous three hot spot data table sets, wherein the hot spot data table sets respectively correspond to three stages with preset time lengths of i-1, i and i +1 (i is an integer not less than 2). And comparing the initial hot spot data sets of the i stage and the i +1 stage to obtain the probability of the i stage appearing in the initial hot spot data set of the i +1 stage, namely the influence weight. Assuming that the initial hot spot data table set in the i stage is { student, user, order, product }, and the initial hot spot data table set in the i +1 stage is { student, user, order, picture }, then the probability p is giveni3/4-0.75. In the same way, comparing the initial hot spot data of the i-1 stage and the i +1 stage, the influence weight p of the i-1 stage relative to the i +1 stage can be obtainedi-1. Presetting a time interval T, and repeatedly calculating n x k-2 p in n times of kT time lengthiAnd pi-1And n is an integer, and the suggested value range is (10, 50). If the value of n is too small, the accuracy of probability is influenced; but too large a value would add unnecessary computations. Respectively averaging the (n x k-2) times of probabilities to obtain the average weight of the i stage and the i-1 stage to the i +1 stage hot spot data set
Figure BDA0001893492270000091
And
Figure BDA0001893492270000092
in the ith stage:
Figure BDA0001893492270000093
Figure BDA0001893492270000094
according to
Figure BDA0001893492270000095
And
Figure BDA0001893492270000096
and (5) jointly solving to obtain the values of a and l.
Carry out decay probability completion value NfinishDefinition of (1):
decay probability completion value NfinishThe definition formula of (1) is as follows: n is a radical offinish=Nkf=N0e-a(m+l)Attenuation probability completion value NfinishThe minimum probability that a node has a guiding meaning to the prediction is represented. Where m represents a time interval in seconds. In the present system, the preset time interval is T, and m is kT, k is an integer. N is a radical offinishA reference value N needs to be presetminTo represent a lower bound on the probability weight of the historical node for the prediction. Let Nmin0.2, increasing the value of k in turn according to defined parameters a and l, when N is equal tofinish=Nkf=N0e-a((k+1)T+l)If the value is less than 0.2, the calculation is stopped. At this time, the value of k is the length of the probability linked list and the historical hotspot data set linked list.
And respectively calculating the probability corresponding to the integer nodes in the range of 1-k according to the determined k value, and storing the probability into a probability linked list according to the sequence of the probability from small to large.
Wherein, the calculation formula of the probability corresponding to the integer nodes within the range of 1-k is as follows: n is a radical ofkf=N0e-a(kT+l)Specifically, the above probability analysis task is theoretically performed only when the system is initialized or a large adjustment exists.
Secondly, determining an initial hotspot database table set according to the historical log record in the current time period:
firstly, according to the recorded database history log, the classification of the user request and the database table to be accessed are determined according to the classification standard. Determining classification criteria: the database tables that the user requests to access are the same database table.
Then, according to the recorded database history log, the classification of the user request and the database table to be accessed are determined according to the classification standard. The method specifically comprises the following steps: counting the user request quantity of each type, namely the request times; counting the user request quantity of each classification from large to large according to the request quantityThe small order is sorted. And if the user request quantity is the same, calculating the requested data quantity as a sequencing basis, namely sequencing according to the request data quantity from large to small so as to obtain a hot spot database table set. Considering that in most traffic scenarios 80% of the visits are concentrated on 20% of the hot data (two-eight principle), the top 20% ranked classes are defined (note: (k)1,k2…k10) List, get (k)1,k2) Generate a classification standard containing the number and the database table. The sum of the selected classification ratios can be less than 20%, but cannot exceed 20%.
Then, adding the hot spot database table set obtained in the above steps into a bidirectional circular linked list of the hot spot data history record: and moving a tail pointer, and adding an array set to the tail of the linked list. The length of the linked list is then checked. If the length of the linked list is not less than k, no operation is performed; and if the length of the linked list is greater than k, moving the pointer to delete the next node of the bidirectional circular linked list of the hot spot data historical record.
Thirdly, predicting the probability of each data table becoming a hot spot in the history record of the next time period according to the linked list record of the hot spot data for k times:
firstly, an array set of a current node pointed by a pointer is obtained, and the number of times of pointer movement is recorded to a variable i, wherein the initial value of i is 1. Taking out the name of the first database table from the array set, and taking the name of the database table as a key value; and meanwhile, taking the probability with the subscript of k-1 in the linked list as a value, and storing the key-value key value pair into a map set. And sequentially taking out the names of the remaining database tables in the array set, and storing the corresponding key-value into the map.
Then, before moving the pointer of the linked list storing the hot spot data table name set, it needs to judge whether the next of the probability linked list is empty, and the next indicates to point to the next hot spot data set. And if i is less than 1 and next is not null, moving the pointer of the hot spot data table historical record. Otherwise, the next is empty, and the set traversal is completed.
And then, respectively taking out the database table name and the corresponding probability value of any i stage from the hotspot database table and the probability linked list. At this time, when performing the assignment operation of the map, it is necessary to first obtain whether the current database table name has a value in the map. If it already exists, the sum of the value and the probability value corresponding to the node needs to be saved to the map as a new value. If not, the probability value is stored as a value in the map.
And finally, after traversing the hot spot database table and the probability linked list, sequencing the map set in a descending order according to the value. The set of data tables with the sum of value values closest to but not more than 80% of the sum of value values is selected as the cached set of hot spot data tables.
Fourthly, generating new classification standard according to the hot spot data table set and the historical classification standard:
firstly, the database table name is taken out from the classification standard, and whether the taken out database table name exists in the hotspot set is inquired. If so, removing the corresponding key-value pair in the map; if not, the corresponding sorting criteria are deleted and the collection of web servers is placed back in the unassigned server list.
Then, the database table names are taken out from the maps, and a sufficient number of web servers are appointed for the classification requests according to the request quantity corresponding to the recorded database tables. And calculating the number of target web servers according to the service capacity of the server, such as the transmission capacity per unit time and the classified user request amount per unit time, so that the service capacity of the server is larger than the service requested by the user, wherein the service capacity of the web servers comprises two aspects of the processing capacity and the transmission flow of the server. The numbers of the servers are written as a set in the form of a circular linked list into the target server field of the sorting criterion.
And finally, according to the definition of the target server field in the classification standard, sending each classification standard to the corresponding single or multiple web servers to cache the database table corresponding to the classification. All classification criteria are then sent to the load balancing server.
The work of the load balancing server mainly comprises the following aspects:
first, all the classification criteria sent by the data analysis server are received and stored, and a node is arbitrarily selected from the circular linked list of the target server field of each classification, so that the pointer points to the node.
Second, upon receiving a user request, the sorting criteria are compared to determine the sort to which the user request belongs. The following forwarding policy is implemented:
and step one, acquiring the number of the pointer pointing to the node, and forwarding the user request to the web server represented by the number. Thereafter, the pointer is moved to the next node location.
And step two, adding a field in the classification standard for storing a set of server numbers with the cpu occupancy rate exceeding a preset value.
And step three, monitoring the cpu occupancy rate of the web server in the field of the target server, and storing the serial number of the web server into the newly added field in the last step once the cpu occupancy rate of the web server reaches a set value.
And step four, monitoring the cpu occupancy rate of the web server in the field of the step two, and when the cpu occupancy rate of the web server is reduced to less than one half of a preset value, inserting the number corresponding to the server into the linked list of the target server again.
The work of the web cluster server mainly comprises the following aspects:
firstly, a target web server receives a classification request sent by a data analysis server, determines a database table corresponding to the classification request, and loads table contents from the database into a memory.
Secondly, the target web server receives the user request forwarded by the load balancing server, determines that the database table to be accessed by the classification of the user request is consistent with the cache content in the memory, loads data information from the memory and returns the user request.
Example two
As shown in fig. 2, a method for optimizing a Web cluster cache is implemented by the above system for utilizing a Web cluster cache, and specifically includes a data preprocessing process and a request forwarding process, where the data preprocessing process includes completing recording, statistics, and analysis of a user request, and forwarding a database table to be accessed on a target Web server corresponding to the user request, and the request forwarding process includes comparing, by a load balancing server, the received user request with a classification standard, determining a target Web server to which the request is forwarded correspondingly and completing forwarding of the request, receiving and processing the user request by the target Web server, and finally returning a result.
The method specifically comprises the following steps:
s1, setting an attenuation process of node probability according to the characteristic of the system that the service changes rapidly and slowly:
s1.1 determining an initial value N according to system characteristicsinit:Ninit=N0e-al
Wherein N isinitThe node is an initial value of the decay probability, and represents the importance degree of the node in the current time period in the whole historical record, N01, determining the offset of an initial value, wherein a is an attenuation coefficient and represents the change of the magnitude of the influence of time change history on future prediction, and the values of a and l are defined according to the characteristic that the service of the system changes rapidly and slowly;
specifically, the determination method of a and l comprises the following steps: according to the record and analysis of the data analysis server, an initial hotspot data table set can be obtained, and the assumed length is k. At present, any three continuous hot spot data table sets are used for analysis, and the three stages with preset time length of T respectively correspond to i-1, i and i + 1. And comparing the initial hot spot data sets of the i stage and the i +1 stage to obtain the probability of the i stage appearing in the initial hot spot data set of the i +1 stage, namely the influence weight. Assuming that the initial hot spot data table set in the i stage is { student, user, order, product }, and the initial hot spot data table set in the i +1 stage is { student, user, order, picture }, then the probability p is giveni3/4-0.75. In the same way, comparing the initial hot spot data of the i-1 stage and the i +1 stage, the influence weight p of the i-1 stage relative to the i +1 stage can be obtainedi-1. Presetting a time interval T, and repeatedly calculating n x k-2 p in n times of kT time lengthiAnd pi-1And n is an integer, and the suggested value range is (10, 50). If the value of n is too small, the accuracy of probability is influenced; but too large a value would add unnecessary computations.Respectively averaging the (n x k-2) times of probabilities to obtain the average weight of the i stage and the i-1 stage to the i +1 stage hot spot data set
Figure BDA0001893492270000141
And
Figure BDA0001893492270000142
in the ith stage:
Figure BDA0001893492270000143
Figure BDA0001893492270000144
can be based on
Figure BDA0001893492270000145
And
Figure BDA0001893492270000146
jointly solving to obtain the values of a and l
S1.2 according to the completion value NfinishIs defined by the formula: n is a radical offinish=Nkf=N0e-a(m+l)Sequentially increasing the k value according to the defined parameters a and l, and calculating the completion value N of each nodefinish,NfinishThe attenuation probability completion value represents the minimum probability that the node has guiding significance for prediction, when N isfinish=Nkf=N0e-a((k+1)T+l)<NminStopping calculation, wherein the value of k is the length of the probability linked list and the historical hotspot data set linked list; wherein N isminIs NfinishThe reference value of (1) is used to indicate the lower limit of the probability weight of the historical node pair for prediction, m is a time interval, if the preset time interval is T, m equals kT, k is an integer, and m is in seconds.
S1.3 respectively calculating integer nodes in the range of 1-k according to the k value determined in the step S1.2The corresponding node probability is calculated by the following formula: n is a radical ofkf=N0e-a(kT+l)And storing the node probability into a node probability linked list according to the sequence from small to large.
The above probability analysis task is theoretically performed only when the system is initialized or a large adjustment exists.
S2, determining an initial hotspot database table set according to the historical log record in the current time period:
and S2.1, determining the classification of the user request and the database table to be accessed according to the recorded database history log and the classification standard. Determining classification criteria: the database tables which the user requests to access are the same database table;
and S2.2, determining the classification of the user request and the database table to be accessed according to the recorded database history log and the classification standard. And determining the classification of the user request and the database table to be accessed according to the classification standard according to the recorded database history log. And counting the request quantity of each type of user, namely the request times. And counting the user request quantity of each category, and sequencing according to the sequence of the request quantity from large to small. And if the user request quantity is the same, calculating the requested data quantity as a sequencing basis, namely sequencing according to the request data quantity from large to small. Considering that in most traffic scenarios, 80% of the visits are concentrated on 20% of the hot data (two-eight principle), the top 20% of the ranked classes are defined (e.g., (k)1,k2…k10) List, get (k)1,k2) Generate a hot point database table set containing the number and the classification standard of the database table. The sum of the selected classification proportions can be less than 20 percent, but can not exceed 20 percent;
s2.3, adding the hot spot database table set obtained in the step S2.2 into a bidirectional circular linked list of the hot spot data history record: and moving a tail pointer, and adding an array set to the tail of the linked list. The length of the linked list is then checked. If the length of the linked list is not less than k, no operation is performed; and if the length of the linked list is greater than k, moving the pointer to delete the next node of the bidirectional circular linked list of the hot spot data historical record.
S3, predicting the probability of each data table becoming a hot spot in the history record of the next time period according to the linked list record of the hot spot data k times:
s3.1, acquiring an array set of the current node pointed by the pointer, and recording the moving times of the pointer to a variable i, wherein the initial value of i is 1. Taking out the name of the first database table from the array set, and taking the name of the database table as a key value; and meanwhile, taking the probability with the subscript of k-1 in the linked list as a value, and storing the key-value key value pair into a map set. And sequentially taking out the names of the remaining database tables in the array set, and storing the corresponding key-value into the map.
S3.2, before the pointer of the linked list of the hot spot data table name set is continuously moved and stored, whether the next of the probability linked list is empty or not is judged, and the next points to the next hot spot data set. And if i is less than 1 and next is not null, moving the pointer of the hot spot data table historical record. Otherwise, the next is empty, and the set traversal is completed.
And S3.3, respectively taking the database table name and the corresponding probability value of any stage i from the hotspot database table and the probability linked list. At this time, when performing the assignment operation of the map, it is necessary to first obtain whether the current database table name has a value in the map. If it already exists, the sum of the value and the probability value corresponding to the node needs to be saved to the map as a new value. If not, the probability value is stored as a value in the map.
And S3.4, after the linked list is traversed, performing descending sorting on the maps according to the value values, and selecting a data table set with the sum of the value values closest to but not more than 80% of the sum of the value values as a cached hot spot data table set.
S4, comparing the hot spot data table set with the data tables in the historical classification standard according to the hot spot data table set and the historical classification standard obtained in the step S3, screening out the classification standard needing to be updated and a newly added hot spot data table, placing the label of a target web server corresponding to the updated classification standard back to the unallocated set, calculating the number of the required target web servers for the newly added hot spot data table according to the request amount in unit time and the transmission capacity of the target web server (at least, the total transmission capacity of the target web servers in unit time is not less than the request amount in unit time), and selecting the corresponding number of target web servers from the unallocated list to construct a new classification standard;
s4.1, the database table name is taken out from the classification standard, and whether the taken out database table name exists in the hotspot set or not is inquired. If so, removing the corresponding key-value pair in the map; if not, the corresponding sorting criteria are deleted and the collection of web servers is placed back in the unassigned server list.
S4.2, the database table names are taken out from the maps, and enough web servers are appointed for the classification requests according to the request quantity corresponding to the recorded database tables. And calculating the number of target web servers according to the service capacity of the servers and the classified user request amount in unit time, namely the service capacity of the servers needs to be larger than the service requested by the user, wherein the service capacity of the web servers comprises two aspects of the processing capacity and the transmission flow of the servers. The numbers of the servers are written as a set in the form of a circular linked list into the target server field of the sorting criterion.
And S4.3, according to the definition of the target server field in the classification standard, sending each classification standard to the corresponding single or multiple web servers so as to cache the database table corresponding to the classification. All classification criteria are then sent to the load balancing server.
S5: the target web server receives the classification request forwarded by the data analysis server, determines the name of a database table to be loaded, and loads the table content from the database into the memory;
s6: the load balancing server receives the user request, determines the classification of the user request according to the classification standard of the data analysis server, and determines the number of a target server from a target server set of the classification standard through a node pointed by a pointer;
s6.1, the load balancing server receives and stores all classification standards sent by the data analysis server, and a node is randomly selected from a circular linked list of a field of a target web server of each classification, so that a pointer points to the node;
s6.2, when receiving the user request, comparing the classification standard to determine the classification of the user request, and executing the following forwarding strategy:
s6.2.1 obtaining the number of the pointer pointing to the node, forwarding the user request to the target web server represented by the number, and then moving the pointer to the next node position;
s6.2.2, a new field is added to the sorting criteria for holding a set of target web server numbers for which the cpu occupancy exceeds a preset occupancy threshold,
s6.2.3 monitoring the cpu occupancy rate of the target web server in the field of the target web server, and once the cpu occupancy rate of the target web server reaches the preset occupancy rate threshold, storing the number of the target web server in the newly added field in step S6.2.2;
s6.2.4 monitoring the cpu occupancy rate of the target web server in the step S6.2.2, and when the cpu occupancy rate of the target web server falls to less than half of the preset occupancy rate threshold, inserting the corresponding number of the target web server into the circular linked list of the target web server again.
S7: the target web server receives the user request forwarded by the load balancing server, processes the content of the request, acquires corresponding data from the memory as a result and returns:
s7.1, the target web server receives the classification request sent by the data analysis server, determines a database table corresponding to the classification request, and loads table contents from the database into a memory;
s7.2 the target web server receives the user request forwarded by the load balancing server, determines that the database table to be accessed by the classification of the user request is consistent with the cache content in the memory, loads data information from the memory and returns the user request.
It will be understood that the above embodiments are merely exemplary embodiments taken to illustrate the principles of the present invention, which is not limited thereto. It will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the spirit and substance of the invention, and these modifications and improvements are also considered to be within the scope of the invention.

Claims (7)

1. The utilization system of the web cluster cache is characterized by comprising a load balancing server, a data analysis server and a web cluster server, wherein the web cluster server is composed of a plurality of target web servers;
the data analysis server is used for recording and counting log information requested by a user, and obtaining a classification standard containing two fields of a database table to be accessed and a target server linked list according to the historical hotspot record and the node probability linked list; the load balancing server is used for determining a target web server of the user request according to the classification standard determined by the data analysis server, forwarding the user request to the corresponding target web server, and traversing the linked list set of the alternative target web servers by moving the pointer to realize load balancing; the target web server is used for receiving the user request forwarded by the load balancing server, caching the database table with higher user request amount into the memory, and directly reading the corresponding data generation result in the database table from the memory and returning the result when receiving the corresponding user request;
the method for obtaining the classification standard containing two fields of the database table to be accessed and the target server linked list according to the historical hotspot record and the node probability linked list specifically comprises the following steps:
s1: setting the attenuation process of the node probability according to the characteristic that the service change of the system is fast and slow:
s1.1 determining an initial value N according to system characteristicsinit:Ninit=N0e-alWherein N isinitThe node is an initial value of the decay probability, and represents the importance degree of the node in the current time period in the whole historical record, N01, determining the offset of an initial value, wherein a is an attenuation coefficient and represents the change of the magnitude of the influence of time change history on future prediction, and the values of a and l are defined according to the characteristic that the service of the system changes rapidly and slowly;
s1.2 according to the completion value NfinishIs defined by the formula: n is a radical offinish=Nkf=N0e-a(m+l)Sequentially increasing the k value according to defined parameters a and l, and countingCalculating a completion value N for each nodefinishWhen N is presentfinish=Nkf=N0e-a((k+1)T+l)<NminStopping calculation, wherein the value of k is the length of the probability linked list and the historical hotspot data set linked list; wherein N isfinishThe decay probability completion value represents the minimum probability that the node has guiding significance for the prediction, NminIs NfinishThe reference value is used for representing the lower limit of the probability weight of the historical node pair prediction, m represents the time interval unit as second, if the preset time interval is T, m equals kT, and k is an integer;
s1.3, respectively calculating the node probability corresponding to the integer nodes in the range of 1-k according to the k value determined in the step S1.2, wherein the calculation formula is as follows: n is a radical ofkf=N0e-a(kT+l)Storing the node probability into a node probability linked list according to the sequence from small to large;
s2, the data analysis server stores log records of a user request database in a preset time period, and each request log needs to record database table information which needs to be accessed by a user request; determining classification of user requests according to historical log records, classifying the user requests accessing the same database table into one class, and obtaining a set of initial hot spot data tables according to a twenty-eight principle;
s3, traversing the linked list records of the hot spot data for k times, and constructing key-value key value pairs by combining the node probability linked list obtained in the step S1: if the key value does not exist, the value of the node corresponding to the node probability linked list is assigned to value; if the key value already exists, adding a probability value of a node on the basis of the value, sorting maps in a descending order according to the value, and selecting a database table with the sum of the value values not more than 80% of the sum of the value values as a hotspot set according to the sorting, wherein the method specifically comprises the following steps:
s3.1, acquiring an array set of a current node pointed by a pointer of a hotspot data table historical record, recording the moving times of the pointer to a variable i, wherein the initial value of i is 1, taking the name of a first database table from the array set, and taking the name of the database table as a key value; meanwhile, taking the node probability with the subscript of k-1 in the node probability linked list as a value, storing the key-value key value pair into a map set, sequentially taking out the names of the remaining database tables in the array set according to the value, and storing the corresponding key-value into the map set;
s3.2, before moving the pointer continuously, judging whether the next hot spot data set of the node probability linked list is empty or not, if the next hot spot data set is not empty, moving the pointer of the historical record of the hot spot data table, and if not, finishing the traversal of the set;
s3.3, respectively taking out the database table name and the corresponding probability value of any i stage from the hot spot database table and the node probability linked list, when carrying out assignment operation of the map set, firstly acquiring whether the current database table name has a value in the map set, if so, storing the sum of the value and the node probability value as a new value in the map set, and if not, storing the node probability value as the value in the map set;
s3.4, after traversing of the hot spot database table and the node probability linked list is finished, sorting the map sets in a descending order according to the value values, and finally selecting the data table set with the sum of the value values closest to but not more than 80% of the sum of the value values as the cached hot spot data table set.
2. The system for utilizing a web cluster cache according to claim 1, wherein the load balancing server determines a target web server of a user request according to a classification standard determined by the data analysis server, forwards the user request to the corresponding target web server, and traverses a linked list set of candidate target web servers by moving a pointer to realize load balancing; the method specifically comprises the following steps that the target web server receives a user request forwarded by the load balancing server, caches a database table with a higher user request amount in the memory, and directly reads corresponding data in the database table from the memory to generate a result and returns the result when receiving a corresponding user request:
s4: comparing the hot spot data table set with the data tables in the historical classification standard according to the hot spot data table set and the historical classification standard obtained in the step S3, screening out the classification standard needing to be updated and a newly added hot spot data table, putting the label of the target web server corresponding to the updated classification standard back to the unallocated set, calculating the number of the required target web servers for the newly added hot spot data table according to the request amount in unit time and the transmission capacity of the target web server, and selecting the corresponding number of the target web servers from the unallocated list to construct a new classification standard;
s5: the target web server receives the classification request forwarded by the data analysis server, determines the name of a database table to be loaded, and loads the table content from the database into the memory;
s6: the load balancing server receives the user request, determines the classification of the user request according to the classification standard of the data analysis server, and determines the number of a target server from a target server set of the classification standard through a node pointed by a pointer;
s7: and the target web server receives the user request forwarded by the load balancing server, processes the content of the request, and acquires corresponding data from the memory as a result to return.
3. The system according to claim 2, wherein the step S4 specifically includes the following steps:
s4.1, extracting the database table name from the historical classification standard, inquiring whether the extracted database table name exists in the hot spot data table set, and if so, removing the corresponding key-value key value pair in the map set; if not, deleting the corresponding classification standard, and putting the set of the target web servers back to the unallocated server list;
s4.2, database table names are taken out from the map set, enough target web servers are assigned to the classification requests according to the recorded request quantity corresponding to the database table, the number of the target web servers is calculated according to the service capacity of the target web servers and the classified user request quantity in unit time, so that the service capacity of the servers is larger than the service requested by the users, wherein the service capacity of the target web servers comprises the processing capacity and the transmission flow of the servers, and the serial numbers of the servers are written into the fields of the target servers of the classification standard in a form of a circular linked list as a set;
and S4.3, according to the definition of the target web server field, transmitting each classification standard to the corresponding single or multiple target web servers to cache the database table corresponding to the classification, and then transmitting all the classification standards to the load balancing server.
4. The system according to claim 3, wherein the step S7 specifically includes the following steps:
s7.1, the target web server receives the classification request sent by the data analysis server, determines a database table corresponding to the classification request, and loads table contents from the database into a memory;
s7.2 the target web server receives the user request forwarded by the load balancing server, determines that the database table to be accessed by the classification of the user request is consistent with the cache content in the memory, loads data information from the memory and returns the user request.
5. The system according to claim 2, wherein the step S6 specifically includes the following steps:
s6.1, the load balancing server receives and stores all classification standards sent by the data analysis server, and a node is randomly selected from a circular linked list of a field of a target web server of each classification, so that a pointer points to the node;
s6.2, when receiving the user request, comparing the classification standard to determine the classification of the user request, and executing the following forwarding strategy:
s6.2.1 obtaining the number of the pointer pointing to the node, forwarding the user request to the target web server represented by the number, and then moving the pointer to the next node position;
s6.2.2, adding a new field in the classification standard for storing the collection of target web server numbers with cpu occupancy rate exceeding the preset occupancy rate threshold;
s6.2.3 monitoring the cpu occupancy rate of the target web server in the field of the target web server, and once the cpu occupancy rate of the target web server reaches the preset occupancy rate threshold, storing the number of the target web server in the newly added field in step S6.2.2;
s6.2.4 monitoring the cpu occupancy rate of the target web server in the step S6.2.2, and when the cpu occupancy rate of the target web server falls to less than half of the preset occupancy rate threshold, inserting the corresponding number of the target web server into the circular linked list of the target web server again.
6. The system according to claim 1, wherein in step S1.2, N ismin=0.2。
7. The system according to claim 1, wherein the step S2 specifically includes the following steps:
s2.1, the data analysis server stores log records of a user request database in a preset time period, and each request log needs to record database table information which needs to be accessed by a user request;
s2.2, dividing the user requests for accessing the same database table into one type, counting the user request quantity of each category, sequencing according to the sequence of the request quantity from large to small, defining the categories sequenced in the top 20 percent, and generating a hot point database table set which contains the number and the classification standard of the database table;
s2.3, adding the hot spot database table set obtained in the step S2.2 into a bidirectional circular linked list of the hot spot data historical record, checking the length of the bidirectional circular linked list, and if the length of the linked list is not more than k, not performing operation; and if the length of the linked list is greater than k, deleting the next node of the bidirectional circular linked list of the hot spot data historical record.
CN201811481419.8A 2018-12-05 2018-12-05 Web cluster cache utilization system and optimization method Active CN109634746B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811481419.8A CN109634746B (en) 2018-12-05 2018-12-05 Web cluster cache utilization system and optimization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811481419.8A CN109634746B (en) 2018-12-05 2018-12-05 Web cluster cache utilization system and optimization method

Publications (2)

Publication Number Publication Date
CN109634746A CN109634746A (en) 2019-04-16
CN109634746B true CN109634746B (en) 2022-03-01

Family

ID=66071230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811481419.8A Active CN109634746B (en) 2018-12-05 2018-12-05 Web cluster cache utilization system and optimization method

Country Status (1)

Country Link
CN (1) CN109634746B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111049899B (en) * 2019-12-11 2021-01-05 贝壳找房(北京)科技有限公司 kafka message storage system, method, apparatus, and computer-readable storage medium
CN114173159A (en) * 2021-11-23 2022-03-11 武汉市烽视威科技有限公司 Hot content prediction method, device, equipment and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758610A (en) * 2005-11-11 2006-04-12 清华大学 Consumption control method of parallel computing trunking power supply
CN103338249A (en) * 2013-06-26 2013-10-02 优视科技有限公司 Cache method and device
CN104065568A (en) * 2014-07-07 2014-09-24 电子科技大学 Web server cluster routing method
AU2015203474A1 (en) * 2012-07-23 2015-07-16 Facebook, Inc. Structured search queries based on social-graph information
CN106326012A (en) * 2016-08-25 2017-01-11 中国农业银行股份有限公司 Web application cluster buffer utilization method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9942345B2 (en) * 2009-09-17 2018-04-10 Oracle International Corporation Web server caching for performance improvement
CN104580393B (en) * 2014-12-18 2017-12-15 北京蓝汛通信技术有限责任公司 Expansion method, device and server cluster system for server cluster system
CN106936623A (en) * 2015-12-31 2017-07-07 五八同城信息技术有限公司 The management method of distributed cache system and cache cluster
US10191824B2 (en) * 2016-10-27 2019-01-29 Mz Ip Holdings, Llc Systems and methods for managing a cluster of cache servers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758610A (en) * 2005-11-11 2006-04-12 清华大学 Consumption control method of parallel computing trunking power supply
AU2015203474A1 (en) * 2012-07-23 2015-07-16 Facebook, Inc. Structured search queries based on social-graph information
CN103338249A (en) * 2013-06-26 2013-10-02 优视科技有限公司 Cache method and device
CN104065568A (en) * 2014-07-07 2014-09-24 电子科技大学 Web server cluster routing method
CN106326012A (en) * 2016-08-25 2017-01-11 中国农业银行股份有限公司 Web application cluster buffer utilization method and system

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Redis-based web server cluster session maintaining technology;Songhuan Li 等;《2017 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD)》;20180625;3065-3069 *
SmartCache:基于兴趣的协作式Web缓存;陈海涛 等;《计算机科学》;20081225;第35卷(第12期);87-89,118 *
Web server load balancing: A queueing analysis;Zhongju Zhang等;《European Journal of Operational Research》;20080416;第186卷(第2期);681-693 *
基于节点缓存的Web服务器性能优化研究;胡霖;《无线互联科技》;20151025(第20期);49-50 *
无线传感网中基于概率衰减模型的节点调度研究;程艳蕾;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415(第4期);I140-210 *
远程控制系统中Web服务器的请求调度算法研究;尤国华;《中国博士学位论文全文数据库 信息科技辑》;20121015(第10期);I139-10 *

Also Published As

Publication number Publication date
CN109634746A (en) 2019-04-16

Similar Documents

Publication Publication Date Title
CN108710639B (en) Ceph-based access optimization method for mass small files
CN106649865A (en) Distributed server system and data processing method
CN106959928B (en) A kind of stream data real-time processing method and system based on multi-level buffer structure
CN110472004B (en) Method and system for multi-level cache management of scientific and technological information data
CN109766318B (en) File reading method and device
CN110321325A (en) File inode lookup method, terminal, server, system and storage medium
CN109165096B (en) Cache utilization system and method for web cluster
CN110968272B (en) Time sequence prediction-based method and system for optimizing storage performance of mass small files
CN102819586A (en) Uniform Resource Locator (URL) classifying method and equipment based on cache
CN109634746B (en) Web cluster cache utilization system and optimization method
CN106570145B (en) Distributed database result caching method based on hierarchical mapping
CN106155934A (en) Based on the caching method repeating data under a kind of cloud environment
CN108647266A (en) A kind of isomeric data is quickly distributed storage, exchange method
CN108416054A (en) Dynamic HDFS copy number calculating methods based on file access temperature
CN111708720A (en) Data caching method, device, equipment and medium
JP7192645B2 (en) Information processing device, distributed processing system and distributed processing program
Goyal et al. Anytime frequent itemset mining of transactional data streams
CN114356893A (en) Metadata tuning method, device, equipment and storage medium based on machine learning
CN109844723B (en) Method and system for master control establishment using service-based statistics
CN109635069A (en) A kind of geographical spatial data self-organizing method based on comentropy
CN109144431A (en) Caching method, device, equipment and the storage medium of data block
CN114785858B (en) Active resource caching method and device applied to mutual inductor online monitoring system
CN116578409A (en) Method, system and medium for identifying and migrating memory hot page
CN103442000B (en) WEB caching replacement method and device, http proxy server
CN113835613B (en) File reading method and device, electronic 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