CN110968603B - Data access method and device - Google Patents

Data access method and device Download PDF

Info

Publication number
CN110968603B
CN110968603B CN201911200031.0A CN201911200031A CN110968603B CN 110968603 B CN110968603 B CN 110968603B CN 201911200031 A CN201911200031 A CN 201911200031A CN 110968603 B CN110968603 B CN 110968603B
Authority
CN
China
Prior art keywords
cache
data
configuration
configuration parameter
class
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
CN201911200031.0A
Other languages
Chinese (zh)
Other versions
CN110968603A (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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201911200031.0A priority Critical patent/CN110968603B/en
Publication of CN110968603A publication Critical patent/CN110968603A/en
Application granted granted Critical
Publication of CN110968603B publication Critical patent/CN110968603B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application provides a data access method and a data access device, which store the corresponding relation among data access classes, cache configuration parameters and corresponding cache policy classes in a preset cache configuration parameter area, wherein the cache configuration parameters comprise: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item; therefore, when a data access request sent by a user is received, as the data access request is attached with the data access class with the cache annotation, the cache table identification to which the data access class belongs can be obtained, the cache configuration parameter corresponding to the cache table identification is searched from the preset cache configuration parameter area, the cache strategy class corresponding to the cache type configuration item in the cache configuration parameter is called to execute the data query operation, and the data query result is fed back to the user.

Description

Data access method and device
Technical Field
The present disclosure relates to the field of data caching technologies, and in particular, to a data access method and apparatus.
Background
The overseas core system of China banking provides service for all peripheral systems in overseas in a distributed service mode, which comprises the following steps: application modules such as loans, deposits, payments, batches, debit cards, teller, etc., are complex and data-intensive, and access to databases is very frequent, thereby affecting the transaction processing performance of overseas core systems.
At present, the problem of transaction processing performance caused by frequent database access is mainly solved by a caching technology. For complex systems, because of the very many data access scenarios involved, different data access scenarios may require different buffering schemes, such as: for system parameters with small data volume and infrequent changes, a quick and efficient memory cache is used; for applications with large data volume and multiple applications needing to share transaction data, redis cache for caching hot spot data is used; for single transaction hot spot data, a thread cache is used. The cache modes corresponding to different data access requests are also different, so that in order to meet the query requirements of different data access types, system developers are required to respectively develop codes according to the cache modes of different types, and after codes corresponding to the cache modes required by application services are generated, the application services are started to realize data access.
In the prior art, when a caching mode needs to be added, a caching mode needs to be modified or caching is abnormal, a shutdown notice needs to be issued, a system developer redevelopes codes, and after the development of the codes is completed, an application service needs to be restarted to realize normal access of data, so that the normal access of the data cannot be guaranteed.
Disclosure of Invention
The application provides a data access method and device, and aims to solve the problems that in the prior art, when a caching mode needs to be added, the caching mode needs to be modified or caching is abnormal, due to the fact that a shutdown notice needs to be issued, a system developer re-develops codes, after the development of the codes is completed, application service needs to be restarted, normal access of data can be achieved, and then normal access of the data cannot be guaranteed.
In order to achieve the above object, the present application provides the following technical solutions:
a data access method, comprising:
receiving a data access request sent by a user, wherein the data access request is attached with a data access class with a cache annotation;
obtaining a cache table identifier to which the data access class belongs, and searching a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area, wherein the corresponding relation among each data access class, the cache configuration parameter and the corresponding cache policy class is pre-stored in the preset cache configuration parameter area, and the cache configuration parameter comprises: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item;
And calling a cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation, and feeding back a data query result to the user.
Preferably, the method further comprises:
when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, a database cache policy class is called to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
Preferably, the method further comprises:
monitoring operation parameters of data query operation corresponding to each cache policy class;
when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class;
and calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
Preferably, the construction process of the preset cache configuration parameter area includes:
when the application service is started, all cache configuration parameters of a cache configuration parameter table are loaded from a preset database;
Calling the application service initialization loading configuration items and the cache data initialization configuration items in each cache configuration parameter to perform the cache data customization initialization operation;
and establishing a corresponding relation among each database access type, the cache configuration parameters and the corresponding cache policy class, and constructing a preset cache configuration parameter area.
Preferably, before receiving the data access request sent by the user, the method further comprises:
creating a node for transmitting each configuration item change in the cache configuration parameter table and all child nodes thereof for the cache configuration parameters in the preset cache configuration parameter area;
monitoring the data change events of the node and all child nodes thereof;
when the node and all child node change messages are received, deleting the configuration items in the preset cache configuration parameter area, and reloading each configuration item in the cache configuration parameter table to the preset cache configuration parameter area.
A data access apparatus comprising:
the first processing unit is used for receiving a data access request sent by a user, wherein the data access request is attached with a data access class with a cache annotation;
the second processing unit is configured to obtain a cache table identifier to which the data access class belongs, and search a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area, where the preset cache configuration parameter area stores in advance a correspondence between each data access class, the cache configuration parameter, and a corresponding cache policy class, and the cache configuration parameter includes: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item;
And the third processing unit is used for calling the cache policy class corresponding to the cache type configuration item in the cache configuration parameter to execute data query operation and feeding back a data query result to the user.
Preferably, the third processing unit is further configured to:
when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, the query option configuration item is used for calling a database cache policy class to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
Preferably, the third processing unit is further configured to:
monitoring operation parameters of data query operation corresponding to each cache policy class;
when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class;
and calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
A storage medium comprising a stored program, wherein the program, when run, controls a device on which the storage medium resides to perform a data access method as described above.
An electronic device comprising at least one processor, and at least one memory, bus connected to the processor; the processor and the memory complete communication with each other through the bus; the processor is configured to invoke the program instructions in the memory to perform the data access method as described above.
The method comprises the steps of storing the corresponding relation among each data access class, the corresponding cache configuration parameters and the corresponding cache policy class in a preset cache configuration parameter area, wherein the cache configuration parameters comprise: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item; thus, when a data access request sent by a user is received, as the data access request is accompanied with a data access class with a cache annotation, a cache table identifier to which the data access class belongs can be obtained, then a cache configuration parameter corresponding to the cache table identifier is searched from a preset cache configuration parameter area, finally, a cache policy class corresponding to a cache type configuration item in the cache configuration parameter is called to execute the data access operation, and a data query result is fed back to the user.
According to the above process, the cache configuration parameters and the cache policy types are stored respectively, so that when the cache mode needs to be added, the cache mode needs to be modified or the cache is abnormal, the cache configuration parameters in the preset cache configuration parameter area need to be correspondingly added or modified, in addition, the cache mode can be conveniently added or modified at any time, a system developer can modify the cache parameters at any time under the condition that normal transaction is not affected, the development process can be simplified, normal access of data can be ensured when the cache is abnormal, and the issuing of shutdown notices is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a data access method disclosed in an embodiment of the present application;
FIG. 2 is a flow chart of yet another data access method disclosed in an embodiment of the present application;
FIG. 3 is a flow chart of yet another data access method disclosed in an embodiment of the present application;
fig. 4 is a specific flowchart of a construction process of a preset cache configuration parameter area disclosed in an embodiment of the present application;
FIG. 5 is a schematic diagram of a cache module in a system according to an embodiment of the present disclosure;
FIG. 6 is a schematic structural diagram of a data access device according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The application provides a data access method and device, which are applied to application services of overseas core systems, and in order to meet the query requirements of different data access types, system developers are required to uniformly develop codes according to different types of cache modes, and after codes corresponding to the cache modes required by the application services are generated, the application services are started to realize data access.
The invention of the present application aims to: the method solves the problems that in the prior art, when a caching mode needs to be added, the caching mode needs to be modified or the caching is abnormal, due to the fact that a shutdown notice needs to be issued, a system developer is used for redevelopment of codes, after the development of the codes is completed, the normal access of data can be realized only by restarting application service, and then the normal access of the data cannot be guaranteed.
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
As shown in fig. 1, an embodiment of the present application provides a flow chart of a data access method, where the data access method specifically includes the following steps:
s101: and receiving a data access request sent by a user, wherein the data access request is attached with a data access class with cache annotation.
And the user sends a data access request to the application service of the overseas core system, and when the data access request sent by the user is received, the data access class in the data access request is acquired according to the cache annotation, wherein the data access class has a corresponding unique cache type.
S102: and obtaining a cache table identifier to which the data access class belongs, and searching a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area.
The preset cache configuration parameter area is pre-stored with the corresponding relation among each data access class, the cache configuration parameter and the corresponding cache policy class, and the cache configuration parameter comprises: the cache table identifies a configuration item, a cache type configuration item, an application service initialization load configuration item, a query option configuration item, and a cache data initialization configuration item.
In this embodiment of the present application, the above cache policy class generally includes four types, specifically: a memory caching policy class (memory store strategy), a Redis caching policy class (Redis store strategy), a thread caching policy class (ThreadStorestrategy), a database access policy class (DataBaseStorestrategy).
In this embodiment of the present application, a cached data table is required to be used, corresponding cache configuration parameters are configured in a database, and fields mainly included in the cache configuration parameter table include the following fields shown in table 1:
TABLE 1
Figure BDA0002295635760000061
Figure BDA0002295635760000071
If a new cache policy class needs to be added, only a cache type configuration item needs to be added in a cache configuration parameter table of the database, namely, a cache type configuration item is added, a new type identifier is added, and a cache policy public interface is realized by adding a specific cache policy class.
If the current cache policy class needs to be replaced, only the cache type configuration item needs to be modified in the cache configuration parameter table of the database, namely: before modification, the memory cache policy class is used, if the current memory cache is required to be modified into the Redis cache, the cache type configuration item in the cache configuration parameter is required to be correspondingly modified in the cache configuration parameter table of the database, namely, the memory cache policy class is modified into the Redis cache policy class.
S103: and calling a cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation, and feeding back a data query result to the user.
It should be noted that, after determining a specific cache type according to the cache type configuration item, the different cache type configuration items correspond to different cache policy classes, only the cache policy class corresponding to the cache type configuration item in the cache configuration parameter needs to be called according to the cache type configuration item to perform a data query operation, for example: and according to the cache type configuration item, determining that the specific cache type is a memory cache policy class, calling the corresponding memory cache policy class to execute data query operation, and finally feeding back a data query result obtained by executing the data query operation to a user.
According to the data access method provided by the embodiment of the application, the corresponding relations among the data access classes, the cache configuration parameters and the corresponding cache policy classes are stored in the preset cache configuration parameter area, wherein the cache configuration parameters comprise: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item; therefore, when a data access request sent by a user is received, as the data access request is accompanied with a data access class with a cache annotation, a cache table identifier to which the data access class belongs can be obtained, then a cache configuration parameter corresponding to the cache table identifier is searched from a preset cache configuration parameter area, finally, a cache policy class corresponding to a cache type configuration item in the cache configuration parameter is called to execute data access operation, and a data query result is fed back to the user.
Based on the foregoing, in other implementations, the data access method may further include, in addition to the steps 101 to 103, as shown in fig. 2, the following steps:
s104: when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, a database cache policy class is called to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
In this embodiment of the present application, after a data QUERY operation is performed by invoking a cache policy class corresponding to the cache type configuration item in the cache configuration parameter, a data QUERY result needs to be fed back to the user, and if the data QUERY result is empty, it is determined whether to perform a database QUERY operation according to a QUERY OPTION configuration item query_option in the cache configuration parameter, that is: if the QUERY OPTION configuration item query_option in the cache configuration parameter is that the database is queried again when the QUERY cache is not found, the database cache policy class needs to be called to execute the database QUERY operation, and finally the database QUERY operation is executed, and the obtained data QUERY result is fed back to the user.
Based on the foregoing, as shown in fig. 3, an embodiment of the present application provides a flowchart of yet another data access method, where the data access method includes the following steps:
s301: and receiving a data access request sent by a user, wherein the data access request is attached with a data access class with cache annotation.
S302: and obtaining a cache table identifier to which the data access class belongs, and searching a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area.
S303: and calling a cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation, and feeding back a data query result to the user.
S304: when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, a database cache policy class is called to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
In this embodiment, the above steps 301 to 304 are consistent with the contents of steps S101 to S104, and specific contents may be referred to steps S101 to S104, which are not described in detail herein.
S305: and monitoring the operation parameters of the data query operation corresponding to each cache policy class.
It should be noted that, in the application service, the memory space corresponding to each buffer policy class is limited, so in order to ensure the normal operation of various buffer modes, the operation parameters of the data query operation corresponding to each buffer policy class in the application service need to be monitored in real time.
S306: when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class.
In this embodiment of the present application, when the monitored value exceeds a preset threshold, it is determined that an abnormality occurs in a data query operation of a corresponding cache policy class, for example, the total amount of memory caches exceeds a set size, and if an abnormality occurs in a service corresponding to a query operation capable of determining memory caches, it is necessary to change a cache type configuration item corresponding to a memory cache policy class into a database access cache policy class.
S307: and calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
It should be noted that, continuing to take the above description as an example, the cache type configuration item corresponding to the memory cache policy class has been changed to the database access policy class, then only the database access policy class corresponding to the cache type configuration item in the cache configuration parameter is required to be called according to the cache type configuration item to execute the data query operation, and finally the data query result obtained by executing the data query operation is fed back to the user.
According to the data access method provided by the embodiment of the invention, a developer or maintainer can directly modify the cache configuration parameters to realize flexible switching of the cache mode, and can also directly refresh the cache of the specific data table, and by monitoring the operation parameters of the data query operation corresponding to each cache policy class, when the data query operation corresponding to a certain cache policy class is abnormal, the cache type configuration item corresponding to the abnormal cache policy class can be changed into the database access policy class, namely, when the abnormality occurs, the data access type is automatically switched into the database access mode, so that the abnormal application service caused by cache failure is prevented, and the system stability is improved.
Based on the above, as shown in fig. 4, the construction process of the preset cache configuration parameter area in the embodiment of the present application specifically includes the following steps:
S401: and when the application service is started, all the cache configuration parameters of the cache configuration parameter table are loaded from a preset database.
S402: calling the application service initialization loading configuration items and the cache data initialization configuration items in each cache configuration parameter to perform the cache data customization initialization operation;
s403: and establishing a corresponding relation among each database access type, the cache configuration parameters and the corresponding cache policy class, and constructing a preset cache configuration parameter area.
It should be noted that, when the application service is started, ALL DATA access classes implementing the public DATA access interface will determine whether to execute the cache DATA initialization operation according to the parameter value of the query option configuration item all_load obtained by the cache configuration parameter area, and call the cache DATA loading method to implement the customized loading of the cache DATA according to the cache DATA initialization configuration item load_data_sql in the cache configuration parameter of the cache configuration parameter area. And finally, establishing a corresponding relation among each database access type, the cache configuration parameters and the corresponding cache policy class, and constructing a preset cache configuration parameter area.
Further, based on the above, since the overseas core system includes not only one application service, services are provided for all overseas peripheral systems in a distributed service manner, and before receiving the data access request sent by the user, the method further includes:
And creating a node for transmitting each configuration item change in the cache configuration parameter table and all child nodes thereof for the cache configuration parameters in the preset cache configuration parameter area.
And monitoring the data change events of the node and all the child nodes thereof.
When the node and all child node change messages are received, deleting the configuration items in the preset cache configuration parameter area, and reloading each configuration item in the cache configuration parameter table to the preset cache configuration parameter area.
According to the embodiment of the application, for any caching mode, the caching configuration parameter area can inform all application services subscribed for data change of each child node to call corresponding caching strategy classes to refresh caching data by sending data modification information to the node and all child nodes of each configuration item change, so that synchronization of caching data among all distributed application services in a cluster can be realized, unified management of use of the caching mode in a system is realized, code readability and caching controllability are improved, and meanwhile, workload of system developers is reduced.
As shown in fig. 5, a schematic structural diagram of a cache module in a system according to an embodiment of the present application is disclosed. System developers design public cache components from the standpoint of scalability, ease of maintenance, and high availability.
Firstly, a cache configuration parameter item needs to be defined, and the configuration parameter needs to be quickly accessed and refreshed in real time in a distributed service cluster. Secondly, a cache storage strategy interface and a cache synchronous interface are designed according to a strategy mode in the design mode, and specific cache strategy types required by the system are realized. Finally, a public access interface needs to be provided for specific data access requests, so that the application can access the cache through the cache component of the application.
As shown in fig. 5, the CCD (CACHE CONFIG DATA, cache parameter configuration table); the zookeer cluster is a medium for transmitting data update messages, and nodes on the zookeer cluster have a one-to-one correspondence with database tables and process the messages in a subscription/release mode.
Specifically, CCDN (CACHE CONFIG DATA NODE), a node corresponding to the cache parameter configuration table is created on the zookeer cluster, and is used for transmitting the data change of the cache parameter configuration table.
The CCDA (CACHE CONFIG DATA AREA, cache configuration parameter area) stores configuration parameters in a ConcurrentHashMap structure, and the configuration parameters are stored in a memory of an application service, and when a request for inquiring the cache comes, a specific cache mode and other operation options of the cache are acquired from the CCDA area.
PDQC (PUBLIC DATA QUERY COMPONENT, public data access component) providing public data access interface (CachedParamInterface), cache policy public interface (CacheStoreStrategyInterface), query annotation (@ CachedQuery), cache slice class (CacheAspect), PDQC processes the query, update operations of public cache component and synchronizes the cache data after the update operations are completed.
The ATS (ADMINISTRATIVE TERMINAL SYSTEM, system management terminal system) may synchronize the CCDA data in all distributed application services through the ATS, or may refresh the cached data table of all distributed application services through the ATS. The ATS monitors the usage of each cache, and when an abnormality occurs in a certain cache manner, all the cache manners configured in the CCD table are automatically modified to D, i.e. database access.
The embodiment of the application provides a data access method flow, which specifically comprises the following steps:
s1, creating a node and all sub-nodes for transmitting the change of each configuration item in the cache configuration parameter table for the cache configuration parameters in the preset cache configuration parameter area, and monitoring the data change event of the node and all the sub-nodes.
It should be noted that, when the application service is started, all data of the CCD are loaded from the database to the CCDA, and a node cache CCDN corresponding to the CCD is created on the zookeer cluster. Meanwhile, a corresponding sub node CCDN/TABLE_NAME of the CCDN is created for each row of configuration data in the CCD, and finally, an application service monitors the CCDN and the data change events of all the sub nodes on the ZOOKEEPER cluster.
S2, receiving a data access request 1 sent by a user, wherein the data access request 1 is attached with a data access class with a cache annotation.
In the embodiment of the application, a public cache component is provided in an application service, a developer needs to implement a public data access interface on the public cache component for a data access class needing to use a cache, and implement a method for initializing and refreshing a loaded data cache, and meanwhile, needs to add @ CachedQuery annotation on a query method of the data access class, and specify a cached key Value column in a Value attribute of the query method, as follows:
@Override
@CachedQuery(value={“bankNo”,”rullId”,”rullSeq”})
public XXXObject selectByPrimaryKey(String bankNo,String rullId,String rullSeq){//do someThing;}。
s3, acquiring a cache table identifier to which the data access class belongs, and searching a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area CCDA to determine that a cache policy class corresponding to the data access class is a memory cache class.
In this embodiment of the present application, the above cache policy class generally includes four types, specifically: a memory caching policy class (memory store strategy), a Redis caching policy class (Redis store strategy), a thread caching policy class (ThreadStorestrategy), a database access policy class (DataBaseStorestrategy).
If a new cache policy class needs to be added, only a cache type configuration item needs to be added in a cache configuration parameter table of the database, namely, a cache type configuration item is added, a new type identifier is added, and a cache policy public interface is realized by adding a specific cache policy class.
If the current cache policy class needs to be replaced, only the cache type configuration item needs to be modified in the cache configuration parameter table of the database, namely: if the memory cache policy class is used before modification, the current memory cache is required to be modified into the Redis cache, and the cache type configuration item in the cache configuration parameter is required to be correspondingly modified in the cache configuration parameter table of the database, namely the memory cache policy class is modified into the Redis cache policy class.
S4, calling the memory cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation, and feeding back a data query result to the user.
S5, when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, a database cache policy class is called to execute database query operation.
S6, monitoring operation parameters of data query operation corresponding to each cache policy class.
Because the data caching space corresponding to each buffering strategy class in the application service is limited, in order to ensure the normal operation of each cache database, when the configuration parameters of the cache configuration parameter table are required to be modified or the database table data are required to be manually modified, the operation parameters of the data query operation corresponding to each buffering strategy class in the application service are required to be monitored.
S7, when the total amount of the memory caches exceeds the set size, the service corresponding to the query operation capable of determining the memory caches is abnormal, and the cache type configuration item corresponding to the memory cache policy class is required to be changed into the database access cache policy class.
S9, invoking a database access strategy class to execute data query operation, and feeding back a data query result to the user.
S10, deleting configuration items in the preset cache configuration parameter area when the node and all child node change messages are received, and reloading each configuration item in the cache configuration parameter table to the preset cache configuration parameter area.
When receiving the CCDN node change message sent by the ZOOKEEPER, the application service firstly cleans the data of the CCDA and then reloads the data of the CCD table to the CCDA so as to achieve the aim of refreshing the cache configuration parameters.
In the embodiment of the application, the method beginning with update, delete and insert in the data access class using the public cache component PDQC in the application service increases the @ After notification of the Spring section, and records all the table names subjected to the table modification operation in the ModifiedTableList of the thread local. While the public cache component PDQC will add the Spring cut @ Around notification to all @ transaction notes. Clearing the ModifiedTableList of the Threadlocal before the @ transaction starts, and after the things are successfully submitted, sending a data modification message to the corresponding nodes on the ZOOKEEPER cluster according to the cache table identifier recorded by the ModidTableList, and notifying all application services subscribed to the data change of the nodes to call the corresponding cache policy class by the ZOOKEER cluster to refresh the cache data.
According to the public cache component capable of integrating multiple cache modes, provided by the embodiment of the application, a system developer only needs to develop once according to the access mode provided by the public component, and the cache parameters are configured according to the needs, so that the problems of large cache development workload and difficult management in the prior art are solved. If the cache mode or a certain cache parameter is required to be modified, the cache configuration parameter table is only required to be modified, and the modification can be effective without restarting the application service, so that the problem of inflexible cache modification in the prior art is solved. When a new cache mode needs to be added for the component, a system developer can carry out secondary development according to an interface provided by the public cache component, and the system developer can use the newly added cache mode only by modifying a cache parameter table, so that the problem of difficult expansion in the prior art is solved. The public cache component provided by the application has the characteristics of expandability, flexible configuration, real-time effectiveness, simplicity, easiness in use and the like, can help system developers to better manage and use the cache, and greatly reduces the learning cost and the development workload of the system developers.
Referring to fig. 6, a data access method disclosed based on the above embodiment correspondingly discloses a data access device, which specifically includes: a first processing unit 601, a second processing unit 602, and a third processing unit 603, wherein:
the first processing unit 601 is configured to receive a data access request sent by a user, where the data access request is accompanied by a data access class of a cache annotation.
The second processing unit 602 is configured to obtain a cache table identifier to which the data access class belongs, search a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area, where the preset cache configuration parameter area stores in advance a correspondence between each data access class, a cache configuration parameter, and a corresponding cache policy class, and the cache configuration parameter includes: the cache table identifies a configuration item, a cache type configuration item, an application service initialization load configuration item, a query option configuration item, and a cache data initialization configuration item.
And a third processing unit 603, configured to invoke a cache policy class corresponding to the cache type configuration item in the cache configuration parameter to perform a data query operation, and feed back a data query result to the user.
Further, on the basis of the above disclosed data access device, the third processing unit 603 is further configured to:
and when the data query result is empty, if the query option configuration item in the cache configuration parameter is a database query when the query cache is not found, the database query operation is executed by calling a database cache policy class.
Further, on the basis of the above disclosed data access device, the third processing unit 603 is further configured to:
monitoring operation parameters of data query operation corresponding to each cache policy class;
when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class;
and calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
The database access device comprises a processor and a memory, wherein the first processing unit, the second processing unit, the third processing unit and the like are all stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor includes a kernel, and the kernel fetches the corresponding program unit from the memory. The kernel can set one or more than one, store the corresponding relation of each data access class, the cache configuration parameter and the corresponding cache policy class in the preset cache configuration parameter area, store the cache configuration parameter and the cache policy class respectively, when the cache mode needs to be added, the cache mode needs to be modified or the cache is abnormal, only the cache configuration parameter in the preset cache configuration parameter area needs to be correspondingly added or modified, in addition, the cache mode can be conveniently added or modified at any time, so that a system developer can modify the cache parameter at any time under the condition of not influencing normal transaction, avoid issuing a shutdown notice, and restart application service, thereby ensuring the normal access of data.
The embodiment of the invention provides a storage medium on which a program is stored, which when executed by a processor implements the data access method.
The embodiment of the invention provides a processor which is used for running a program, wherein the data access method is executed when the program runs.
An embodiment of the present invention provides an electronic device, as shown in fig. 7, where the electronic device 70 includes at least one processor 701, and at least one memory 702 and a bus 703 connected to the processor; wherein, the processor 701 and the memory 702 complete communication with each other through the bus 703; the processor 701 is configured to invoke the program instructions in the memory 702 to execute the database query method described above.
The electronic device herein may be a server, a PC, a PAD, a mobile phone, etc.
The present application also provides a computer program product adapted to perform, when executed on a data processing device, a program initialized with the method steps of:
receiving a data access request sent by a user, wherein the data access request is attached with a data access class with a cache annotation;
obtaining a cache table identifier to which the data access class belongs, and searching a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area, wherein the corresponding relation among each data access class, the cache configuration parameter and the corresponding cache policy class is pre-stored in the preset cache configuration parameter area, and the cache configuration parameter comprises: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item;
and calling a cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation, and feeding back a data query result to the user.
Preferably, the method further comprises:
when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, a database cache policy class is called to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
Preferably, the method further comprises:
monitoring operation parameters of data query operation corresponding to each cache policy class;
when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class;
and calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
Preferably, the construction process of the preset cache configuration parameter area includes:
when the application service is started, all cache configuration parameters of a cache configuration parameter table are loaded from a preset database;
calling the application service initialization loading configuration items and the cache data initialization configuration items in each cache configuration parameter to perform the cache data customization initialization operation;
and establishing a corresponding relation among each database access type, the cache configuration parameters and the corresponding cache policy class, and constructing a preset cache configuration parameter area.
Preferably, before receiving the data access request sent by the user, the method further comprises:
creating a node for transmitting each configuration item change in the cache configuration parameter table and all child nodes thereof for the cache configuration parameters in the preset cache configuration parameter area;
Monitoring the data change events of the node and all child nodes thereof;
when the node and all child node change messages are received, deleting the configuration items in the preset cache configuration parameter area, and reloading each configuration item in the cache configuration parameter table to the preset cache configuration parameter area.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, the device includes one or more processors (CPUs), memory, and a bus. The device may also include input/output interfaces, network interfaces, and the like.
The memory may include volatile memory, random Access Memory (RAM), and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM), among other forms in computer readable media, the memory including at least one memory chip. Memory is an example of a computer-readable medium.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises an element.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and changes may be made to the present application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. which are within the spirit and principles of the present application are intended to be included within the scope of the claims of the present application.

Claims (9)

1. A method of data access, comprising:
receiving a data access request sent by a user, wherein the data access request is attached with a data access class with a cache annotation;
obtaining a cache table identifier to which the data access class belongs, and searching a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area, wherein the corresponding relation among each data access class, the cache configuration parameter and the corresponding cache policy class is pre-stored in the preset cache configuration parameter area, and the cache configuration parameter comprises: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item;
invoking a cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation, and feeding back a data query result to the user;
the construction process of the preset cache configuration parameter area comprises the following steps:
when the application service is started, all cache configuration parameters of a cache configuration parameter table are loaded from a preset database;
calling the application service initialization loading configuration items and the cache data initialization configuration items in each cache configuration parameter to perform the cache data customization initialization operation;
Establishing a corresponding relation among each database access type, the cache configuration parameters and the corresponding cache policy class, and constructing a preset cache configuration parameter area;
if a new cache policy class needs to be added, adding a cache type configuration item in a cache configuration parameter table of the database, and realizing a cache policy public interface of the newly added cache policy class;
if the current cache policy class needs to be replaced, modifying the cache type configuration item in a cache configuration parameter table of the database.
2. The method as recited in claim 1, further comprising:
when the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, a database cache policy class is called to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
3. The method according to claim 1 or 2, further comprising:
monitoring operation parameters of data query operation corresponding to each cache policy class;
when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class;
And calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
4. The method of claim 1, further comprising, prior to receiving the data access request sent by the user:
creating a node for transmitting each configuration item change in the cache configuration parameter table and all child nodes thereof for the cache configuration parameters in the preset cache configuration parameter area;
monitoring the data change events of the node and all child nodes thereof;
when the node and all child node change messages are received, deleting the configuration items in the preset cache configuration parameter area, and reloading each configuration item in the cache configuration parameter table to the preset cache configuration parameter area.
5. A data access device, comprising:
the first processing unit is used for receiving a data access request sent by a user, wherein the data access request is attached with a data access class with a cache annotation;
the second processing unit is configured to obtain a cache table identifier to which the data access class belongs, and search a cache configuration parameter corresponding to the cache table identifier from a preset cache configuration parameter area, where the preset cache configuration parameter area stores in advance a correspondence between each data access class, the cache configuration parameter, and a corresponding cache policy class, and the cache configuration parameter includes: the cache table identifies a configuration item, a cache type configuration item, an application service initialization loading configuration item, a query option configuration item and a cache data initialization configuration item;
The third processing unit is used for calling a cache policy class corresponding to the cache type configuration item in the cache configuration parameters to execute data query operation and feeding back a data query result to the user;
the construction process of the preset cache configuration parameter area comprises the following steps:
when the application service is started, all cache configuration parameters of a cache configuration parameter table are loaded from a preset database;
calling the application service initialization loading configuration items and the cache data initialization configuration items in each cache configuration parameter to perform the cache data customization initialization operation;
establishing a corresponding relation among each database access type, the cache configuration parameters and the corresponding cache policy class, and constructing a preset cache configuration parameter area;
if a new cache policy class needs to be added, adding a cache type configuration item in a cache configuration parameter table of the database, and realizing a cache policy public interface of the newly added cache policy class;
if the current cache policy class needs to be replaced, modifying the cache type configuration item in a cache configuration parameter table of the database.
6. The apparatus of claim 5, wherein the third processing unit is further configured to:
When the data query result is empty, if the query option configuration item in the cache configuration parameter is that the database is queried again when the query cache is not found, the query option configuration item is used for calling a database cache policy class to execute database query operation; and if the query option configuration item in the cache configuration parameter is only query cache, ending data query.
7. The apparatus of claim 5 or 6, wherein the third processing unit is further configured to:
monitoring operation parameters of data query operation corresponding to each cache policy class;
when the monitoring value exceeds a preset threshold value, determining that the data query operation of the corresponding cache policy class is abnormal, and changing the cache type configuration item corresponding to the abnormal cache policy class into a database access policy class;
and calling the database access strategy class to execute data query operation, and feeding back a data query result to the user.
8. A storage medium comprising a stored program, wherein the program, when run, controls a device in which the storage medium is located to perform the data access method according to any one of claims 1 to 4.
9. An electronic device comprising at least one processor, and at least one memory, bus coupled to the processor; the processor and the memory complete communication with each other through the bus; the processor is configured to invoke program instructions in the memory to perform the data access method of any of claims 1 to 4.
CN201911200031.0A 2019-11-29 2019-11-29 Data access method and device Active CN110968603B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911200031.0A CN110968603B (en) 2019-11-29 2019-11-29 Data access method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911200031.0A CN110968603B (en) 2019-11-29 2019-11-29 Data access method and device

Publications (2)

Publication Number Publication Date
CN110968603A CN110968603A (en) 2020-04-07
CN110968603B true CN110968603B (en) 2023-07-04

Family

ID=70032082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911200031.0A Active CN110968603B (en) 2019-11-29 2019-11-29 Data access method and device

Country Status (1)

Country Link
CN (1) CN110968603B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966679B (en) * 2020-07-15 2022-09-30 宏图智能物流股份有限公司 Storage transportation database cache management method and device
CN111930449B (en) * 2020-09-28 2021-01-12 武汉中科通达高新技术股份有限公司 Data management method and server
CN112559573B (en) * 2020-12-24 2024-04-16 京东科技控股股份有限公司 Data caching method, device, equipment and computer readable medium
CN112965984A (en) * 2021-05-18 2021-06-15 鲁班(北京)电子商务科技有限公司 Method and device for executing database transaction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951395A (en) * 2010-08-30 2011-01-19 中国科学院声学研究所 Access prediction-based data cache strategy for P2P Video-on-Demand (VoD) system server
CN102104632A (en) * 2005-01-24 2011-06-22 茨特里克斯系统公司 Systems and methods for performing caching of dynamically generated objects in a network
CN107704573A (en) * 2017-09-30 2018-02-16 山东浪潮通软信息科技有限公司 A kind of intelligent buffer method coupled with business
CN108132958A (en) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 A kind of multi-level buffer data storage, inquiry, scheduling and processing method and processing device
CN108874304A (en) * 2018-03-30 2018-11-23 北京奇艺世纪科技有限公司 A kind of regular configuration method and device of caching system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228300B2 (en) * 1998-10-05 2007-06-05 Oracle International Corporation Caching the results of security policy functions
CN102043653A (en) * 2010-12-23 2011-05-04 中国农业银行股份有限公司 Cache system and methods for modifying cache configuration and operating and querying cache data
CN102375882B (en) * 2011-09-19 2014-10-15 奇智软件(北京)有限公司 Method, device and browser for rapidly accessing webpage
CN106021126B (en) * 2016-05-31 2021-06-11 腾讯科技(深圳)有限公司 Cache data processing method, server and configuration equipment
CN106878053A (en) * 2016-12-22 2017-06-20 努比亚技术有限公司 A kind of config update devices and methods therefor based on ZOOKEEPER
CN106708636B (en) * 2016-12-29 2020-10-16 北京奇虎科技有限公司 Data caching method and device based on cluster
CN108628891A (en) * 2017-03-21 2018-10-09 北京京东尚科信息技术有限公司 Realize method, apparatus, electronic equipment and the readable storage medium storing program for executing of data buffer storage layer
CN110147508A (en) * 2017-10-26 2019-08-20 北京京东尚科信息技术有限公司 A kind of method and apparatus of system current limliting
CN108667916B (en) * 2018-04-24 2021-08-13 百度在线网络技术(北京)有限公司 Data access method and system for Web application
CN109542907B (en) * 2018-11-21 2021-09-03 万兴科技股份有限公司 Database cache construction method and device, computer equipment and storage medium
CN110109958A (en) * 2019-04-19 2019-08-09 深圳前海微众银行股份有限公司 Method for caching and processing, device, equipment and computer readable storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104632A (en) * 2005-01-24 2011-06-22 茨特里克斯系统公司 Systems and methods for performing caching of dynamically generated objects in a network
CN101951395A (en) * 2010-08-30 2011-01-19 中国科学院声学研究所 Access prediction-based data cache strategy for P2P Video-on-Demand (VoD) system server
CN108132958A (en) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 A kind of multi-level buffer data storage, inquiry, scheduling and processing method and processing device
CN107704573A (en) * 2017-09-30 2018-02-16 山东浪潮通软信息科技有限公司 A kind of intelligent buffer method coupled with business
CN108874304A (en) * 2018-03-30 2018-11-23 北京奇艺世纪科技有限公司 A kind of regular configuration method and device of caching system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
移动数据库技术的缓存管理策略研究;刘耀林 等;计算机时代(第08期);14-16 *
自适应的数据库查询缓存;邱林锋 等;计算机工程与应用(第22期);159-161 *

Also Published As

Publication number Publication date
CN110968603A (en) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110968603B (en) Data access method and device
US9032011B2 (en) Management of data object sharing among applications
US7970823B2 (en) System for sharing data objects among applications
US7010617B2 (en) Cluster configuration repository
CN111064626B (en) Configuration updating method, device, server and readable storage medium
CN113626286A (en) Multi-cluster instance processing method and device, electronic equipment and storage medium
CN111240892A (en) Data backup method and device
CN113946427A (en) Task processing method, processor and storage medium for multi-operating system
CN111414356A (en) Data storage method and device, non-relational database system and storage medium
CN113111036A (en) Small file processing method, device, medium and electronic equipment based on HDFS
CN112632093A (en) Work order processing method, device, system, storage medium and program product
CN110784498A (en) Personalized data disaster tolerance method and device
CN116661943A (en) Pod data volume dynamic mounting method and device under Kubernetes system platform
CN109445966B (en) Event processing method, device, medium and computing equipment
CN101751292B (en) Method for realizing consistency function of multimachine core data in ATC (automatic timing corrector) system
CN112910980B (en) Database access system and method
CN114995762A (en) Thick backup roll capacity expansion method, device, equipment and storage medium
CN111367932B (en) Database form change notification method, device, computer equipment and storage medium
CN114036164A (en) High-concurrency transaction locking method and system combining optimistic lock and pessimistic lock
CN114130035A (en) User matching method, device, equipment and storage medium
KR20170130911A (en) Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
CN111580938A (en) Transaction processing method, device, equipment and medium for work unit
CN115964353B (en) Distributed file system and access metering method thereof
CN116955488A (en) Middleware centralized management method, system, electronic equipment and medium
CN111221552A (en) Instance updating method based on DRM (digital rights management) of distributed resource management component

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