CN111400187B - Parameter dynamic verification system and method based on customized data source - Google Patents

Parameter dynamic verification system and method based on customized data source Download PDF

Info

Publication number
CN111400187B
CN111400187B CN202010197143.1A CN202010197143A CN111400187B CN 111400187 B CN111400187 B CN 111400187B CN 202010197143 A CN202010197143 A CN 202010197143A CN 111400187 B CN111400187 B CN 111400187B
Authority
CN
China
Prior art keywords
unit
scheme
verification
parameter
configuration file
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
CN202010197143.1A
Other languages
Chinese (zh)
Other versions
CN111400187A (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.)
Chongqing Fumin Bank Co Ltd
Original Assignee
Chongqing Fumin Bank 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 Chongqing Fumin Bank Co Ltd filed Critical Chongqing Fumin Bank Co Ltd
Priority to CN202010197143.1A priority Critical patent/CN111400187B/en
Publication of CN111400187A publication Critical patent/CN111400187A/en
Application granted granted Critical
Publication of CN111400187B publication Critical patent/CN111400187B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

The invention belongs to the technical field of service entrance parameter verification, and particularly relates to a parameter dynamic verification system and method based on a customized data source, wherein the system comprises: the customizing unit is used for customizing metadata needing to be verified; the association unit is used for formulating association rules; a storage unit for storing metadata and association rules; the configuration unit is used for extracting and loading the metadata and the association rule, then constructing a dynamic verification scheme and outputting a configuration file according to the scheme identifier of the service scheme; the instance creating unit is used for creating an instance according to the configuration file and associating the instance with the scheme identifier corresponding to the configuration file; the checking unit is used for matching an associated example to carry out parameter checking according to the service identifier of the accessed service scheme; the storage unit is further used for storing the created instances and the association relationship between the instances and the service identifiers. The dynamic parameter verification method and device can efficiently complete dynamic parameter verification work based on different services.

Description

Parameter dynamic verification system and method based on customized data source
Technical Field
The invention belongs to the technical field of service entry parameter verification, and particularly relates to a parameter dynamic verification system and method based on a customized data source.
Background
With the development and change of services, the change demand of service entry participation is continuously increased, and people pay more and more attention to the need of performing dynamic verification on the participation.
The existing parameter verification framework (such as validator and the like) brings great convenience to development and testing, but as most application scenes are based on annotations, no good dynamic support exists for the scenes subjected to dynamic verification, and the requirement that the service needs to be accessed efficiently and quickly for the service at present is difficult to meet because the service needs to be accessed in an extended manner in a hard coding mode for a new service.
By using the existing parameter verification mode, for different service scenes of quick access, particularly different service entrance data requirements of credit wind control, each service can be accessed only by hard coding, the efficiency is low, and the test development manpower consumption is high. And the step of entering the file refers to submitting the prepared data to a system of a bank.
Therefore, a system and a method for dynamically verifying parameters based on a customized data source are needed, which can efficiently complete dynamic parameter verification work based on different services.
Disclosure of Invention
The invention aims to provide a parameter dynamic verification system and method based on a customized data source, which can efficiently complete dynamic parameter verification work based on different services.
The basic scheme provided by the invention is as follows:
the parameter dynamic verification system based on the customized data source comprises:
the system comprises a customizing unit, a checking unit and a checking unit, wherein the customizing unit is used for customizing metadata needing to be checked, and the metadata comprises a parameter type needing to be checked, a parameter field needing to be checked and a checking rule;
the association unit is used for formulating the association rule among the parameter type and the parameter field needing to be verified and the verification rule;
the storage unit is used for storing the metadata customized by the customizing unit and storing the association rule customized by the associating unit;
the configuration unit is used for extracting and loading the metadata and the association rule from the storage unit, then constructing a dynamic verification scheme according to the scheme identifier of the service scheme and outputting a configuration file;
the example creating unit is used for creating an example according to the configuration file output by the configuration unit and associating the created example with the scheme identifier corresponding to the configuration file;
the checking unit is used for matching an example associated with the accessed service scheme according to the service identifier of the accessed service scheme and carrying out parameter checking on the accessed service scheme by using the matched example;
the storage unit is further used for storing the created instances and the association relationship between the instances and the service identifiers.
Basic scheme theory of operation and beneficial effect:
after parameter types, parameter fields and verification rules are made through a customization unit and an association unit and are stored in a storage unit, metadata and the association rules are extracted and loaded through a configuration unit, and then a dynamic verification scheme is constructed and output as a configuration file according to scheme identification of a service scheme.
Then, the instance creating unit creates an instance according to the configuration file, and associates the created instance with the corresponding scheme identifier. After accessing a new service type, the checking unit matches an instance associated with the new service type according to the service identifier of the accessed service scheme, and performs parameter checking by using the matched instance.
Therefore, for different service scenes of quick access, particularly different service access data requirements of credit wind control, the method can effectively improve the service access capability and reduce the working pressure of development and testing personnel after service access with different parameter verification requirements. The method can greatly solve the problems that every service can be accessed only by hard coding, the efficiency is low, and the labor consumption of test development is large.
Besides, the system has simple and clear flow and can simplify the user operation.
Compared with the prior art, the dynamic parameter verification method and device based on different services can efficiently complete dynamic parameter verification work based on different services.
Further, the configuration file is an XML configuration file.
XML facilitates reading/writing data in any application and can be used as a common language for data exchange.
Further, the instance creation unit identifies a configuration file and creates an instance based on the verification framework.
Compared with other modes, the check framework can avoid that most checked parameter data are scattered in complex service logic codes when the parameters are checked, so that the code coupling is serious.
Further, the instance created by the instance creating unit is a validator instance.
The validator example is well suited for verifying that the data from the front page is expected.
Further, the verification framework is a hibernate-validator verification framework.
By reasonably using the hibernate-validator verification framework, the readability of the program can be improved, and unnecessary code logic can be reduced.
Based on the system, the application also provides a parameter dynamic verification method based on the customized data source, which comprises the following steps:
s1, customizing metadata to be verified, wherein the metadata comprises a parameter type to be verified, a parameter field to be verified and a verification rule;
s2, establishing a parameter type to be verified, and an association rule between a parameter field and a verification rule;
s3, storing the metadata customized in the S1 and the association rule formulated in the S2;
s4, after extracting and loading the metadata and the association rule, according to the scheme identification of the service scheme, constructing a dynamic verification scheme and outputting a configuration file;
s5, creating an example according to the configuration file output in the S4, and associating the created example with a scheme identifier corresponding to the configuration file;
s6, matching an associated example according to the service identifier of the accessed service scheme, and performing parameter verification on the accessed service scheme by using the matched example.
Has the beneficial effects that:
for different service scenes of quick access, particularly different service entrance data requirements of credit wind control, the method can effectively improve the service access capability and reduce the working pressure of development and testing personnel after service access with different parameter verification requirements. The method can greatly solve the problems that every service can be accessed only by hard coding, the efficiency is low, and the labor consumption of test development is large.
Besides, the process of the method is simple and clear. Compared with the prior art, the dynamic parameter verification work based on different services can be efficiently completed.
Further, in S4, the output configuration file is an XML configuration file.
XML facilitates reading/writing data in any application and can be used as a common language for data exchange.
Further, in S5, the configuration file and the created instance are identified based on the verification framework.
Compared with other modes, the check framework can avoid that most checked parameter data are scattered in complex service logic codes when the parameters are checked, so that the code coupling is serious.
Further, in S5, an example is created as a validator example.
The validator example is well suited for verifying that the data from the front page is expected.
Further, in S5, the check frame is a hibernate-validator check frame.
By reasonably using the hibernate-validator verification framework, the readability of the program can be improved, and unnecessary code logic can be reduced.
Drawings
FIG. 1 is a logic block diagram of a first embodiment of a system for dynamically verifying customized data source-based parameters according to the present invention;
fig. 2 is a flowchart of a first embodiment of a parameter dynamic verification method based on a customized data source according to the present invention.
Detailed Description
The following is further detailed by way of specific embodiments:
example one
As shown in FIG. 1, the parameter dynamic verification system based on the customization data source comprises a customization unit, an association unit, a storage unit, a configuration unit, an instance creation unit and a verification unit.
The customizing unit is used for customizing metadata needing to be verified, and the metadata comprises a parameter type needing to be verified, a parameter field needing to be verified and a verification rule.
The association unit is used for formulating the association rule among the parameter type and the parameter field needing to be verified and the verification rule;
the storage unit is used for storing the metadata customized by the customization unit and storing the association rule customized by the association unit. In this embodiment, the storage unit is a cloud database server, and in other embodiments, a local database server may also be used.
And the configuration unit is used for constructing a dynamic verification scheme and outputting an XML configuration file according to the scheme identifier of the service scheme after extracting and loading the metadata and the association rule from the storage unit. XML facilitates reading/writing data in any application and can be used as a common language for data exchange.
The instance creating unit is used for creating a validator instance according to the XML configuration file output by the configuration unit by using a hibernate-validator verification framework, and associating the created validator instance with the scheme identifier corresponding to the XML configuration file; the storage unit is also used for storing the created examples and the association relationship between the examples and the service identifiers. Compared with other modes, the verification framework can avoid that most verified parameter data are scattered in complex business logic codes when the parameters are verified, so that the code coupling is serious. The validator example is well suited for verifying that the data from the front page is expected.
The verification unit is used for matching a validator example associated with the access service scheme according to the service identifier of the access service scheme, and performing parameter verification on the access service scheme by using the matched validator example.
The storage unit is further used for storing the created validator instance and the association relationship between the validator instance and the service identifier.
The specific implementation process is as follows:
after parameter types, parameter fields and verification rules are made through a customization unit and an association unit and are stored in a storage unit, metadata and the association rules are extracted and loaded through a configuration unit, and then a dynamic verification scheme is constructed and output as an XML configuration file according to scheme identification of a service scheme.
Then, the example creating unit creates a validator example according to the XML configuration file by using a hibernate-validator check framework, and associates the created validator example with the scheme identifier corresponding to the XML configuration file.
Thus, after accessing a new service type, the verification unit matches a validator instance associated with the service type according to the service identifier of the accessed service scheme, and performs parameter verification by using the matched validator instance.
For different service scenes of quick access, particularly different service entrance data requirements of credit wind control, the invention can effectively improve the service access capability and reduce the working pressure of development and testing personnel after service access with different parameter verification requirements. The problems that each service can be accessed only through hard coding, the efficiency is low, and the labor consumption of test and development is large can be greatly solved.
Besides, the flow of the application is simple and clear in structure, and the user operation can be simplified.
Compared with the prior art, the dynamic parameter verification method and device based on different services can efficiently complete dynamic parameter verification work based on different services.
Based on the above system, as shown in fig. 2, the present application further provides a parameter dynamic verification method based on a customized data source, including:
s1, customizing metadata to be verified, wherein the metadata comprises a parameter type to be verified, a parameter field to be verified and a verification rule;
s2, establishing a parameter type to be verified, and an association rule between the parameter field and a verification rule;
s3, storing the metadata customized in S1 and the association rule customized in S2;
s4, after extracting and loading the metadata and the association rule, according to the scheme identification of the service scheme, constructing a dynamic verification scheme and outputting an XML configuration file;
s5, creating a validator instance according to the XML configuration file output by the S4 by using a hibernate-validator verification framework, and associating the created validator instance with a scheme identifier corresponding to the XML configuration file;
and S6, matching a validator example associated with the accessed service scheme according to the service identifier of the accessed service scheme, and performing parameter verification on the accessed service scheme by using the matched validator example.
The method has simple and clear process. Compared with the prior art, the dynamic parameter verification work based on different services can be efficiently completed.
Example two
Different from the first embodiment, the present embodiment further includes:
a incoming receiving unit which receives an incoming request;
the timing unit is used for recording the interval time t1 of receiving two adjacent feeding requests of the same feeding; the timing unit is internally pre-stored with an urgent waiting time length t2 and is also used for comparing t1 with t2, and when repeated incoming requests occur twice continuously and t1 is less than t2, the timing unit carries out urgent processing marking on incoming articles;
the manual unit is used for displaying the incoming part to an auditor for processing;
the identification unit is used for identifying whether the incoming piece has the emergency processing mark or not and pushing the incoming piece to the manual unit when the incoming piece is identified to have the emergency processing mark.
After the data format is converted, the service request is processed, if the processing fails, prompting is carried out, and the client selects whether to process the incoming file again. After receiving the prompt of processing failure, the user can choose to initiate the service incoming request again.
When the time t1 of receiving the repeat request is less than t2, it indicates that the user is always paying attention to the progress situation of the incoming, and when the incoming fails, the repeat request is initiated immediately, and when the situation occurs twice, it indicates that the current urgency degree of the user is more serious. Therefore, the timing unit marks the incoming article for emergency processing. After the identification unit identifies the emergency processing unit, the screening unit pushes the emergency processing unit to the manual unit, and then a user's incoming request with a serious degree of urgency is processed more quickly.
the value of t2 can be specifically set by those skilled in the art according to the processing capability of the system, and in this embodiment, t2 is 60 seconds.
The foregoing are embodiments of the present invention and are not intended to limit the scope of the invention to the particular forms set forth in the specification, which are set forth in the claims below, but rather are to be construed as the full breadth and scope of the claims, as defined by the appended claims, as defined in the appended claims, in order to provide a thorough understanding of the present invention. It should be noted that, for those skilled in the art, without departing from the structure of the present invention, several variations and modifications can be made, which should also be considered as the protection scope of the present invention, and these will not affect the effect of the implementation of the present invention and the utility of the patent. The scope of the claims of the present application shall be determined by the contents of the claims, and the description of the embodiments and the like in the specification shall be used to explain the contents of the claims.

Claims (10)

1. Parameter dynamic verification system based on customization data source, its characterized in that includes:
the system comprises a customizing unit, a checking unit and a checking unit, wherein the customizing unit is used for customizing metadata needing to be checked, and the metadata comprises a parameter type needing to be checked, a parameter field needing to be checked and a checking rule;
the association unit is used for formulating the association rule among the parameter type and the parameter field needing to be verified and the verification rule;
the storage unit is used for storing the metadata customized by the customizing unit and storing the association rule customized by the associating unit;
the configuration unit is used for extracting and loading the metadata and the association rule from the storage unit, then constructing a dynamic verification scheme according to the scheme identifier of the service scheme and outputting a configuration file;
the example creating unit is used for creating an example according to the configuration file output by the configuration unit and associating the created example with the scheme identifier corresponding to the configuration file;
the checking unit is used for matching an example associated with the accessed service scheme according to the service identifier of the accessed service scheme and carrying out parameter checking on the accessed service scheme by using the matched example;
the storage unit is further used for storing the created instances and the association relationship between the instances and the service identifiers.
2. The system according to claim 1, wherein: the configuration file is an XML configuration file.
3. The system according to claim 1, wherein: the instance creating unit identifies the configuration file and creates the instance based on the check frame.
4. The system according to claim 3, wherein: the instance created by the instance creating unit is a validator instance.
5. The system according to claim 4, wherein: the verification framework is a hibernate-validator verification framework.
6. The parameter dynamic verification method based on the customized data source is characterized by comprising the following steps:
s1, customizing metadata needing to be verified, wherein the metadata comprises a parameter type needing to be verified, a parameter field needing to be verified and a verification rule;
s2, establishing a parameter type to be verified, and an association rule between a parameter field and a verification rule;
s3, storing the metadata customized in the S1 and the association rule formulated in the S2;
s4, after extracting and loading the metadata and the association rule, constructing a dynamic verification scheme and outputting a configuration file according to the scheme identifier of the service scheme;
s5, creating an example according to the configuration file output in the S4, and associating the created example with a scheme identifier corresponding to the configuration file;
s6, matching an associated example according to the service identifier of the accessed service scheme, and performing parameter verification on the accessed service scheme by using the matched example.
7. The method for dynamically verifying parameters based on customized data source according to claim 6, wherein: in S4, the output configuration file is an XML configuration file.
8. The method for dynamically verifying parameters based on customized data source according to claim 6, wherein: in S5, the configuration file is identified and the instance is created based on the verification framework.
9. The method for dynamically verifying parameters based on customized data source according to claim 8, wherein: in S5, the example created is the validator example.
10. The method for dynamically verifying parameters based on customized data source according to claim 9, wherein: in S5, the check frame is a hibernate-validator check frame.
CN202010197143.1A 2020-03-19 2020-03-19 Parameter dynamic verification system and method based on customized data source Active CN111400187B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010197143.1A CN111400187B (en) 2020-03-19 2020-03-19 Parameter dynamic verification system and method based on customized data source

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010197143.1A CN111400187B (en) 2020-03-19 2020-03-19 Parameter dynamic verification system and method based on customized data source

Publications (2)

Publication Number Publication Date
CN111400187A CN111400187A (en) 2020-07-10
CN111400187B true CN111400187B (en) 2023-03-14

Family

ID=71434406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010197143.1A Active CN111400187B (en) 2020-03-19 2020-03-19 Parameter dynamic verification system and method based on customized data source

Country Status (1)

Country Link
CN (1) CN111400187B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239080A (en) * 2021-05-17 2021-08-10 上海中通吉网络技术有限公司 Service configuration method, device and system
CN113377361B (en) * 2021-06-28 2023-01-13 浙江孚临科技有限公司 Method for realizing timing verification of data source based on linux crontad and jar packets

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120036523A (en) * 2010-10-08 2012-04-18 재단법인 한국데이터베이스진흥원 Method and system for certificating data
CN103345487A (en) * 2013-06-24 2013-10-09 北京奇虎科技有限公司 Method and system of verifying data consistency between multiple platforms
CN104166524A (en) * 2014-08-19 2014-11-26 浪潮电子信息产业股份有限公司 Processing method of metadata and data
CN104484271A (en) * 2014-12-09 2015-04-01 国家电网公司 Calibration method of integrated business platform discharge model
CN107291471A (en) * 2017-06-22 2017-10-24 北京航空航天大学 A kind of Meta model framework system for supporting customizable data acquisition
CN110502442A (en) * 2019-08-15 2019-11-26 平安普惠企业管理有限公司 Dynamic parameter method of calibration, device, equipment and storage medium
CN110764942A (en) * 2019-09-17 2020-02-07 平安银行股份有限公司 Multi-type data checking method, device, computer system and readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323572B2 (en) * 2011-06-02 2016-04-26 International Business Machines Corporation Autoconfiguration of a cloud instance based on contextual parameters

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120036523A (en) * 2010-10-08 2012-04-18 재단법인 한국데이터베이스진흥원 Method and system for certificating data
CN103345487A (en) * 2013-06-24 2013-10-09 北京奇虎科技有限公司 Method and system of verifying data consistency between multiple platforms
CN104166524A (en) * 2014-08-19 2014-11-26 浪潮电子信息产业股份有限公司 Processing method of metadata and data
CN104484271A (en) * 2014-12-09 2015-04-01 国家电网公司 Calibration method of integrated business platform discharge model
CN107291471A (en) * 2017-06-22 2017-10-24 北京航空航天大学 A kind of Meta model framework system for supporting customizable data acquisition
CN110502442A (en) * 2019-08-15 2019-11-26 平安普惠企业管理有限公司 Dynamic parameter method of calibration, device, equipment and storage medium
CN110764942A (en) * 2019-09-17 2020-02-07 平安银行股份有限公司 Multi-type data checking method, device, computer system and readable storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Rule-Based Verification and Control Framework in Atlas Trigger-DAQ;A. Kazarov 等;《IEEE Transactions on Nuclear Science》;第54卷(第3期);第604-608页 *
爱立信网管数据源解析与完整性校验方法研究与应用;向德运 等;《电信科学》;第251-255页 *

Also Published As

Publication number Publication date
CN111400187A (en) 2020-07-10

Similar Documents

Publication Publication Date Title
US9037549B2 (en) System and method for testing data at a data warehouse
CN111400187B (en) Parameter dynamic verification system and method based on customized data source
CN102122265A (en) System and method for verifying computer software test results
CN111553137B (en) Report generation method and device, storage medium and computer equipment
CN109670824A (en) Generation method, device, equipment and the storage medium of electronics account book
CN110309099A (en) Interface managerial method, device, equipment and computer readable storage medium
CN107659648A (en) One kind does tax information input method, system and does tax terminal
CN111931780A (en) Intelligent management method and equipment for accounting documents
CN110765101A (en) Label generation method and device, computer readable storage medium and server
CN112286815A (en) Interface test script generation method and related equipment thereof
CN116860856A (en) Financial data processing method and device, computer equipment and storage medium
CN109829769A (en) A kind of electronic invoice duplicate checking method and system
CN115578170A (en) Financial batch certificate making method, device, equipment and storage medium
WO2021120760A1 (en) Method and device for issuing electronic invoice employing blockchain
CN113704430A (en) Intelligent auxiliary receiving method and device, electronic equipment and storage medium
CN110263044B (en) Data storage method, device, equipment and computer readable storage medium
CN113537964A (en) Application form processing method, device, storage medium and device
CN112085611A (en) Asynchronous data verification method and device, electronic equipment and storage medium
CN111831698A (en) Data auditing method, system and electronic equipment
CN113806372B (en) New data information construction method, device, computer equipment and storage medium
CN117762916A (en) Data verification method, device, computer equipment and storage medium
CN115619532A (en) Data comparison method and related equipment
CN108510382B (en) Transaction information processing method and device
CN116775728A (en) Contract data processing method, device, equipment and storage medium
CN116757525A (en) Intelligent correction method and system for power grid data quality based on data portraits

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