Nothing Special   »   [go: up one dir, main page]

CN109688186B - Data interaction method, device, equipment and readable storage medium - Google Patents

Data interaction method, device, equipment and readable storage medium Download PDF

Info

Publication number
CN109688186B
CN109688186B CN201811008900.5A CN201811008900A CN109688186B CN 109688186 B CN109688186 B CN 109688186B CN 201811008900 A CN201811008900 A CN 201811008900A CN 109688186 B CN109688186 B CN 109688186B
Authority
CN
China
Prior art keywords
interaction
request
nodes
blacklist
detection result
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
CN201811008900.5A
Other languages
Chinese (zh)
Other versions
CN109688186A (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.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201811008900.5A priority Critical patent/CN109688186B/en
Priority to PCT/CN2018/122639 priority patent/WO2020042464A1/en
Publication of CN109688186A publication Critical patent/CN109688186A/en
Application granted granted Critical
Publication of CN109688186B publication Critical patent/CN109688186B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a data interaction method, a device, equipment and a readable storage medium, wherein the method comprises the following steps: after receiving an interaction request of data interaction, a receiving node in a alliance chain acquires first interaction information corresponding to the interaction request, wherein the alliance chain is arranged in a server; detecting whether the first interaction information exists in a white list and a first black list of each node of the alliance chain to obtain a detection result; and if the detection result meets a first preset condition, executing the interactive request. The invention reduces the data interaction of the server through the decentralized characteristic of the block chain, reduces the data processing pressure of the server, and improves the reliability of the server because each node in the alliance chain is independent and only the authorized node can be added into the alliance chain.

Description

Data interaction method, device, equipment and readable storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data interaction method, apparatus, device, and readable storage medium.
Background
The current data interaction is based on a centralized server to perform data interaction, namely, a first terminal needs to perform data interaction with a second terminal, the data needs to be sent to the server first and then forwarded to a second client by the server, after the client receives the data, a response result is sent to the server, and the server sends the response result to the first terminal, so that the data interaction between the first terminal and the second terminal is realized. Therefore, frequent data interaction causes huge pressure on the server, and based on the architecture of the central server, only the central server is reliable and trusted, and other nodes are not trusted, so that the reliability of the server is low.
Disclosure of Invention
The invention mainly aims to provide a data interaction method, a data interaction device, data interaction equipment and a readable storage medium, and aims to solve the technical problems of high data processing pressure and low reliability of a server in the existing data interaction process.
In order to achieve the above object, the present invention provides a data interaction method, which includes the steps of:
after receiving an interaction request of data interaction, a receiving node in a alliance chain acquires first interaction information corresponding to the interaction request, wherein the alliance chain is arranged in a server;
detecting whether the first interaction information exists in a white list and a first black list of each node of the alliance chain to obtain a detection result;
and if the detection result meets a first preset condition, executing the interactive request.
Preferably, after the receiving node in the federation chain receives the interaction request for data interaction, before the step of obtaining the first interaction information corresponding to the interaction request, the method further includes:
when a registration request registered at the receiving node is detected, detecting whether the registration request meets the registration condition of the alliance chain;
and if the registration request meets the registration condition, executing the registration request, and detecting whether the interaction request is received or not after the registration request is successfully executed.
Preferably, after the step of detecting whether the first interaction information exists in a white list and a first black list of each node in the federation chain to obtain a detection result, the method further includes:
if the detection result does not meet the first preset condition, second interaction information corresponding to the interaction request is obtained;
acquiring a wind control strategy corresponding to the receiving node, and detecting whether the second interactive information meets a second preset condition or not through the wind control strategy;
if the second interactive information meets the second preset condition, starting a manual checking process and detecting whether a checking result is received;
and when the audit result is received and the interactive request is confirmed to pass the manual audit according to the audit result, executing the interactive request.
Preferably, after the step of obtaining the wind control policy corresponding to the receiving node and detecting whether the second interaction information meets a second preset condition through the wind control policy, the method further includes:
if the second interaction information meets the second preset condition, sending the second interaction information to other nodes in the alliance chain except the receiving node, so that the other nodes can detect whether the second interaction information exists in a corresponding second blacklist or not, and returning a corresponding detection result, wherein each node in the alliance chain has a corresponding second blacklist;
after receiving the detection result, determining the number of the blacklists of the second interactive information found in the second blacklist according to the detection result;
and if the number of the blacklists is less than or equal to the preset number, executing the interactive request.
Preferably, if the second interaction information meets the second preset condition, the step of sending the second interaction information to other nodes in the federation chain except for the receiving node, so that the other nodes detect whether the second interaction information exists in a corresponding second blacklist, and return a corresponding detection result includes:
if the second interaction information meets the second preset condition, sending the second interaction information to other nodes except the receiving node in the alliance chain, so that the other nodes can determine the type of the second interaction information after receiving the second interaction information;
when the second interactive information is determined to belong to the first class, the other nodes detect whether the second interactive information exists in the corresponding second blacklist, and send the obtained detection result to the receiving node;
when the second interaction information is determined to belong to the second class, the other nodes acquire the current resource utilization rate;
and when the resource utilization rate is smaller than a preset threshold value, detecting whether the second interactive information exists in the second blacklist, and sending the obtained detection result to the receiving node.
Preferably, if the second interaction information meets the second preset condition, the step of sending the second interaction information to other nodes in the federation chain except for the receiving node, so that the other nodes detect whether the second interaction information exists in a corresponding second blacklist, and return a corresponding detection result includes:
if the second interaction information meets the second preset condition, sending the second interaction information to other nodes except the receiving node in the alliance chain, and detecting whether waiting time sent by the other nodes is received, wherein the waiting time is the time from the other nodes receiving the second interaction information to the detection result;
and when the waiting time length is received and the waiting time length is less than the preset time length, sending a detection request to the other nodes so that the other nodes can detect whether the second interactive information exists in the corresponding second blacklist after receiving the detection request, and returning a corresponding detection result.
Preferably, the data interaction method further comprises:
when the receiving node detects that the data is lost, determining that the data is lost;
and acquiring the lost data from other nodes in the alliance chain, and storing the lost data.
In addition, to achieve the above object, the present invention further provides a data interaction apparatus, including:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring first interaction information corresponding to an interaction request after a receiving node in a alliance chain receives the interaction request of data interaction, and the alliance chain is arranged in a server;
the detection module is used for detecting whether the first interaction information exists in a white list and a first black list of each node of the alliance chain to obtain a detection result;
and the execution module is used for executing the interactive request if the detection result meets a first preset condition.
In addition, in order to achieve the above object, the present invention further provides a data interaction device, which includes a memory, a processor, and a data interaction program stored on the memory and operable on the processor, and when executed by the processor, the data interaction program implements the steps of the data interaction method as described above.
In addition, to achieve the above object, the present invention also provides a computer readable storage medium, which stores a data interaction program, and when the data interaction program is executed by a processor, the data interaction program implements the steps of the data interaction method as described above.
According to the invention, after a certain node in the server alliance chain receives an interaction request of data interaction, whether first interaction information corresponding to the interaction request exists in a white list and a first black list of each node in the alliance chain is detected, a detection result is obtained, if the detection result meets a first preset condition, the interaction request is executed, so that the interaction request is sent to another terminal, the data interaction of the server is reduced through the decentralized characteristic of the block chain, the data processing pressure of the server is reduced, and as each node in the alliance chain is mutually independent and only authorized nodes can be added into the alliance chain, the reliability of the server is improved; furthermore, each node in the alliance chain shares a white list and a black list, so that the safety of data interaction is improved.
Drawings
FIG. 1 is a schematic flow chart diagram of a first embodiment of a data interaction method of the present invention;
FIG. 2 is a flowchart illustrating a second embodiment of a data interaction method according to the present invention;
FIG. 3 is a flow chart of a third embodiment of the data interaction method of the present invention;
FIG. 4 is a block diagram of a data interaction device according to a preferred embodiment of the present invention;
fig. 5 is a schematic structural diagram of a hardware operating environment according to an embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention provides a data interaction method, and referring to fig. 1, fig. 1 is a schematic flow chart of a first embodiment of the data interaction method.
While a logical order is shown in the flow chart, in some cases, the steps shown or described may be performed in an order different than presented herein.
In various embodiments of the data interaction method, for ease of description, various embodiments are illustrated with a body being executed by a node in a federation chain.
The terms used in this application are explained below:
a block chain is a chain of blocks, each block having a Hash value of the block recorded thereon in addition to the data of the block, and is thus formed into a chain. The block chain has two core ideas, one is a cryptography technology, the other is a decentralization idea, and based on the two ideas, historical information on the block chain cannot be tampered. A chunk consists of a chunk header and a chunk body, where the chunk header definition includes important fields such as the height of the chunk, the hash value of the last chunk, and the chunk body mainly stores transaction data.
Block chains can be classified into three categories, starting from the degree of openness of access rights (also called "decentralized degree"): public, private, and federation chains.
Each node of the federation chain usually has a corresponding entity organization, and can join and leave the network only after authorization. The alliance chain also belongs to the private chain in nature, but the nodes on the chain are controlled by multiple organizations, and the privatization degree is lower than that of the private chain. Meanwhile, the authority control between the two nodes is different, the read-write authority of the alliance chain faces all or part of the nodes on the chain, and the authority control design is more complex.
The node refers to a network node participating in a blockchain network for transaction and data exchange, each independent organization member can have one or more transaction nodes, and each transaction node is a combination of a group of physical networks, computers, blockchain application software and databases. The nodes are connected with each other by a TCP/IP (Transmission Control Protocol/Internet Protocol ) Protocol.
The data interaction method comprises the following steps:
step S10, when a receiving node in a federation chain receives an interaction request for data interaction, obtain first interaction information corresponding to the interaction request, where the federation chain is set in a server.
In this embodiment, the federation chain is provided in a server, and a node in the federation chain that receives an interaction request sent by a user through its terminal is referred to as a receiving node. After receiving the interactive request of data interaction, the receiving node acquires first interactive information corresponding to the interactive request. The interactive request can be triggered by a corresponding user according to needs, and the first interactive information includes but is not limited to a login account, an identity card number, a mobile phone number and the like. The login account is an account used for login after the user registers in the alliance chain. In this embodiment, if a user needs to perform data interaction with a node in a federation chain, the user needs to register in the federation chain and own a corresponding login account. It should be noted that the interactive request carries the first interactive information, so that after the receiving node receives the interactive request, the receiving node may extract the first interactive information from the interactive request to obtain the first interactive information.
Step S20, detecting whether the first interaction information exists in a white list and a first black list of each node of the federation chain, and obtaining a detection result.
In the alliance chain, each node has a black list and a white list, and nodes added into the alliance chain can share the black list and the white list. When the receiving node acquires the blacklist and the white list shared by other nodes in the alliance chain, the blacklist and the white list of the other nodes can be stored. In this embodiment, the blacklist corresponding to the receiving node and the blacklist shared by other nodes in the federation chain are referred to as a first blacklist. Each node in the alliance chain has a corresponding node identifier, and the node identifiers of the corresponding nodes are carried in the blacklist and the white list, so that the blacklist and the white list corresponding to each node can be distinguished through the node identifiers.
After the receiving node obtains the first interaction information corresponding to the interaction request, the receiving node detects whether the first interaction information exists in a white list and a first black list of each node of the alliance chain, and a detection result is obtained. It should be noted that, because one node corresponds to one black list and one white list, the obtained detection result has three situations, which are respectively: exists in a first blacklist; exist in the white list; or not in the first blacklist nor in the whitelist. Different detection results correspond to different result identifiers, and in this embodiment, the expression form of the result identifier is not limited, for example, the result identifier existing in the first blacklist may be set to "00", the result identifier existing in the white list may be set to "11", and the result identifier existing in neither the first blacklist nor the white list may be set to "01".
It should be noted that the detection results corresponding to different nodes also carry node identifiers, so as to distinguish the detection results of different nodes. If the node identifier of a certain node is "a", the corresponding detection result is that the node identifier exists in the first blacklist, and the corresponding detection identifier is "a 00". Therefore, the detection identifier is composed of the result identifier and the node identifier, and therefore the detection result corresponding to the first interaction information can be determined through the detection identifier. The composition manner of the result identifier and the node identifier is not limited in this embodiment.
Step S30, if the detection result meets a first preset condition, the interactive request is executed.
And after the receiving node obtains the detection result, the receiving node obtains a detection identifier corresponding to the detection result, and judges whether the detection result meets a first preset condition or not through the detection identifier. And if the detection result is determined to meet the first preset condition, the receiving node executes the interactive request and sends the interactive request to another terminal. It should be noted that the first preset conditions corresponding to different service scenarios may be different, for example, in a banking service scenario, the first preset condition may be set that a bank account cannot exist in a first blacklist of any node in a federation chain and needs to exist in a white list of at least two nodes in the federation chain; in a loan service scenario, the preset condition may be that the mobile phone number and/or the identity card number cannot be stored in the first blacklist of any node in the federation chain, and need to be stored in the white list of one node in the federation chain.
Further, if the receiving node determines that the detection result does not meet the first preset condition, the receiving node refuses to execute the interaction request, generates prompt information, and sends the prompt information to the terminal corresponding to the interaction request. And after receiving the prompt information, the terminal outputs the prompt information to prompt the user that the interactive request is refused to be executed according to the prompt information, or prompt the user that the interactive request is failed to be executed according to the prompt information, so that the user can know the execution result of the interactive request in time. In this embodiment, the output mode of the terminal for outputting the prompt message is not limited, for example, the prompt message may be output in a voice or text mode.
In the embodiment, after a certain node in a alliance chain receives an interaction request of data interaction, whether first interaction information corresponding to the interaction request exists in a white list and a first black list of each node in the alliance chain is detected, a detection result is obtained, if the detection result meets a first preset condition, the interaction request is executed, so that the interaction request is sent to another terminal, data interaction of a server is reduced through a decentralized characteristic of a block chain, data processing pressure of the server is reduced, and as each node in the alliance chain is independent from each other and only an authorized node can be added into the alliance chain, the reliability of the server is improved; furthermore, each node in the alliance chain shares a white list and a black list, so that the safety of data interaction is improved.
Further, a second embodiment of the data interaction method of the present invention is provided.
The second embodiment of the data interaction method differs from the first embodiment of the data interaction method in that, referring to fig. 2, the data interaction method further includes:
step S40, after detecting the registration request registered at the receiving node, detecting whether the registration request meets the registration condition of the federation chain.
When the receiving node detects the registration request, the receiving node detects whether the registration request meets the registration condition of the alliance chain. It should be noted that, in the federation chain, registration conditions are set in advance, and the registration conditions can be set according to specific needs. If there are 10 nodes in the federation chain, the registration condition may be set to determine that the registration request conforms to the registration condition of the federation chain only if all 6 nodes agree to perform the registration request.
Step S50, if the registration request meets the registration condition, executing the registration request, and after the registration request is successfully executed, detecting whether the interaction request is received.
If the registration request is determined to meet the registration condition, the receiving node executes the registration request, and after the registration request is successfully executed, namely the user successfully registers in the alliance chain, the receiving node detects whether the interaction request is received. It should be noted that, when a user successfully registers in a node in the federation chain, the user may perform data interaction in any node in the federation chain.
Further, if the registration request is determined not to meet the registration condition, the receiving node sends a prompt message to the terminal corresponding to the registration request. And after receiving the prompt message, the terminal outputs the prompt message and prompts the user that the registration fails according to the prompt message.
In the embodiment, in the registration process of the alliance chain node, whether the registration request meets the registration condition needs to be detected, and the registration request is executed only when the registration condition is met, so that the security of data interaction based on the alliance chain is further improved.
Further, a third embodiment of the data interaction method of the present invention is provided.
The third embodiment of the data interaction method differs from the second embodiment of the data interaction method in that, referring to fig. 3, the data interaction method further includes:
step S60, if the detection result does not meet the first preset condition, obtaining second interaction information corresponding to the interaction request.
And if the detection result is determined not to meet the first preset condition, the receiving node acquires second interaction information corresponding to the interaction request. The second interaction information is information corresponding to the receiving node wind control strategy, and the second interaction information can be different from the first interaction information and can also be the same as the first interaction information. In a alliance chain, the wind control strategy corresponding to each node is preset.
Step S70, acquiring a wind control policy corresponding to the receiving node, and detecting whether the second interaction information meets a second preset condition through the wind control policy.
And the receiving node acquires the wind control strategy of the receiving node, and detects whether the second interactive information meets a second preset condition or not through the wind control strategy. If the wind control strategy of a certain node is as follows: whether the bank card number exists in the black list or not and whether the identity card number exists in the white list or not are detected. If the bank card number of the user exists in the blacklist and/or the identity card number does not exist in the white list, the receiving node determines that the second interactive information does not accord with a second preset condition; and if the bank card number does not exist in the blacklist and the identity card number exists in the white list, the receiving node determines that the second interactive information meets a second preset condition.
Furthermore, the priority of the second interactive information can be set according to different types of the data interactive requests. If the data interaction request is a request for inquiring balance, setting the priority of the bank card account higher than that of the identity card number, and setting the priority of the identity card number higher than that of the mobile phone number; when the data interaction request is a loan request, the priority of the telephone number is higher than that of the identity card number, and the priority of the identity card number is higher than that of the login account. At this time, when the wind control policy is set, the wind control policy corresponding to the different types of data interaction requests may be set according to the priority of the second interaction information.
If the wind control strategy of the interactive request corresponding to the query balance can be set as follows: when the fact that the bank card account number does not exist in a blacklist of each node of the alliance chain and the identity card number or the mobile phone number exists in a white list of one node of the alliance chain is detected, the receiving node determines that the second interaction information meets a second preset condition; and when the bank card account number is detected to exist in a blacklist of one node in the alliance chain, and/or the identity card number or the mobile phone number does not exist in a white list of each node in the alliance chain, the receiving node determines that the second interaction information does not meet a second preset condition.
It should be noted that the determination condition corresponding to the wind control policy is different from the determination condition corresponding to the first preset condition. If the first preset condition of a certain node is: the bank account number cannot exist in a first blacklist of any node of the alliance chain, and the bank account number needs to exist in a white list of at least two nodes of the alliance chain, and the wind control strategy can be set as follows: the bank account number only needs to be absent from the blacklist of any node in the alliance chain.
Step S80, if the second interaction information meets the second preset condition, starting a manual review process, and detecting whether a review result is received.
And if the second interactive information is determined to meet the second preset condition, the receiving node generates audit prompt information, and sends the audit prompt information to an auditor, specifically, the audit prompt information can be sent to a terminal held by the auditor to prompt the auditor to audit the interactive request so as to start a manual audit process. And after the auditor audits the interaction request, inputting a manual audit result in an audit interface of the corresponding terminal. And after the terminal held by the auditor receives the audit result input by the auditor on the audit interface, sending the audit result to the receiving node.
Further, if it is determined that the second interaction information does not meet the second preset condition, the receiving node refuses to execute the interaction request.
And step S90, when the audit result is received and the interactive request is confirmed to pass the manual audit according to the audit result, executing the interactive request.
And after the receiving node receives the audit result, extracting the audit identifier in the audit result, and determining whether the interactive request passes the manual audit according to the audit identifier. And when the receiving node determines that the interactive request passes the manual review, the receiving node executes the interactive request. The auditing result comprises two types, wherein one type is approved, and the other type is not approved. Specifically, the audit flag of "pass audit" may be set to "1", and the audit flag of "fail audit" may be set to "0". It should be noted that the expression of the audit flag is not limited to that described in this embodiment, for example, the audit flag of "pass audit" may also be set to "a", and the audit flag of "fail audit" may also be set to "b".
Further, if the interactive request is determined not to pass the manual review according to the review result, the receiving node refuses to execute the interactive request.
In the embodiment, when it is determined that the detection result does not meet the first preset condition, whether the second interaction information of the interaction request meets the second preset condition is detected, when the second preset condition is met, manual review is performed, and after the interaction request passes the manual review, the interaction request is executed, so that the execution success rate of the interaction request is improved, and the success rate of data interaction is improved.
Further, a fourth embodiment of the data interaction method of the present invention is provided.
The fourth embodiment of the data interaction method differs from the first, second or third embodiment of the data interaction method in that step S80 includes:
step a, if the second interaction information meets the second preset condition, sending the second interaction information to other nodes in the alliance chain except the receiving node, so that the other nodes can detect whether the second interaction information exists in a corresponding second blacklist or not, and return a corresponding detection result, wherein each node in the alliance chain has a corresponding second blacklist.
In order to ensure the uniqueness of each node in the federation chain, each node in the federation chain must share a black list and a white list in a preset proportion, that is, each node in the federation chain is allowed to retain a part of the black list and/or the white list without sharing to other nodes in the federation chain. In this embodiment, the blacklist retained by each node is referred to as a second blacklist. The preset examples can be set according to specific needs, such as 70%, 80%, or 85%.
And when the second interaction information is determined to meet the second preset condition, the receiving node sends the second interaction information to other nodes except the receiving node in the alliance chain. When other nodes in the alliance chain receive the second interaction information, the other nodes detect whether the second interaction information exists in a corresponding second blacklist to obtain a detection result, and the detection result is sent to the receiving node. There is a corresponding second blacklist for each node in the federation chain.
It can be understood that the other node detecting whether the second interaction information exists in the corresponding second blacklist is detecting whether the second interaction information exists in the corresponding blacklist, which is not shared to the receiving node.
Further, in order to ensure the security of data interaction in the federation chain and ensure the flexibility and autonomy of each node in the federation chain, step a includes:
step a1, if the second interaction information meets the second preset condition, sending the second interaction information to other nodes in the alliance chain except the receiving node, so that the other nodes can determine the category of the second interaction information after receiving the second interaction information.
And if the second interaction information is determined to meet the second preset condition, the receiving node sends the second interaction information to other nodes except the receiving node in the alliance chain. And after other nodes in the alliance chain receive the second interaction information, determining the type of the second interaction information. The category of the second interactive information is preset, for example, the identification number and the bank card number can be set as a first category, and the mobile phone number and the login account number can be set as a second category.
Step a2, when it is determined that the second interaction information belongs to the first class, the other node detects whether the second interaction information exists in the corresponding second blacklist, and sends the obtained detection result to the receiving node.
When other nodes determine that the second interaction information belongs to the first type, other nodes in the alliance chain detect whether the second interaction information exists in a corresponding second blacklist, namely detect whether the information which is the same as the second interaction information is found in the second blacklist or not, obtain a detection result, and send the detection result to a receiving node in the alliance chain.
Step a3, when the second mutual information is determined to belong to the second class, the other nodes obtain the current resource utilization rate.
And when other nodes determine that the second interaction information belongs to the second class, the other nodes acquire the current corresponding resource utilization rate. Specifically, the resource utilization rate may be a Central Processing Unit (CPU) resource utilization rate.
Step a4, when the resource utilization rate is smaller than a preset threshold, detecting whether the second interaction information exists in the second blacklist, and sending the obtained detection result to the receiving node.
And when the other nodes acquire the corresponding resource utilization rate, the other nodes judge whether the resource utilization rate is smaller than a preset threshold value. And when the resource utilization rate is smaller than the preset threshold value, other nodes detect whether the second interactive information exists in a corresponding second blacklist to obtain a detection result, and the detection result is sent to the receiving node. And when the resource utilization rate is determined to be greater than or equal to the preset threshold value, other nodes refuse to detect whether the second interaction information exists in a corresponding second blacklist. The preset threshold may be set according to specific needs, and the specific value of the preset threshold is not limited in this embodiment.
Further, in order to improve the efficiency of data interaction, step a further includes:
step a5, if the second interaction information meets the second preset condition, sending the second interaction information to other nodes in the alliance chain except the receiving node, and detecting whether a waiting time sent by the other nodes is received, wherein the waiting time is the time from when the other nodes receive the second interaction information to when the detection result is obtained.
And after the second interactive information is determined to meet the second preset condition, the receiving node sends the second interactive information to other nodes except the receiving node in the alliance chain. And after the receiving node sends the second interaction information to other nodes, the receiving node detects whether the waiting time sent by other nodes is received, wherein the waiting time is the time from the other nodes receiving the second interaction information to the detection result. And after the other nodes receive the second interactive information, the other nodes determine the duration of the detection result according to the current resource utilization rate of the other nodes, namely determine the waiting duration, and send the waiting duration to the receiving node. It should be noted that, the mapping relationship between the resource utilization rate and the waiting duration may be stored in advance in other nodes, and the corresponding waiting duration may be determined according to the mapping relationship.
Step a6, when the waiting duration is received and the waiting duration is less than a preset duration, sending a detection request to the other node, so that the other node detects whether the second interaction information exists in the corresponding second blacklist after receiving the detection request, and returning a corresponding detection result.
After receiving the waiting duration, the receiving node determines whether the waiting duration is less than a preset duration, where the preset duration may be set according to specific needs, and in this embodiment, specific time corresponding to the preset duration is not limited. And when the receiving node determines that the waiting time is less than the preset time, the receiving node sends a detection request to other nodes. And after receiving the detection request, other nodes detect whether the second interactive information exists in a corresponding second blacklist according to the detection request to obtain a detection result, and send the detection result to the receiving node. Further, when the receiving node determines that the waiting time is longer than or equal to the preset time, the receiving node sends a prohibition request to other nodes. And after other nodes receive the prohibition request, other nodes prohibit the detection of whether the second interactive information exists in the corresponding second blacklist according to the prohibition request.
And b, after the detection result is received, determining the number of the blacklists of the second interactive information searched in the second blacklist according to the detection result.
And when the receiving node receives the detection result, the receiving node determines that the number of the blacklists of the second interactive information is found in the second blacklists corresponding to other nodes according to the detection result. It can be understood that the number of the blacklists can be determined according to the detection identifiers, that is, the number of the blacklists can be determined according to the number of the identifiers existing in the second blacklist carried in the detection result. And if the detection result carries 3 identifiers in the second blacklist, determining that the number of the blacklists is 3.
And c, if the number of the blacklists is less than or equal to the preset number, executing the interactive request.
And after the receiving node determines the number of the blacklists, the receiving node judges whether the number of the blacklists is less than or equal to a preset number. And when the number of the blacklists is determined to be less than or equal to the preset number, the receiving node executes the interaction request. Wherein the preset number can be set according to the total number of nodes in the alliance chain. If there are 6 nodes in the federation chain, the receiving node will execute the interaction request only if the number of blacklists is less than or equal to 2.
Further, when the receiving node determines that the number of the blacklists is greater than the preset number, the receiving node refuses to execute the interaction request.
In this embodiment, when it is determined that the second interaction information meets the second preset condition, the second interaction information is sent to other nodes in the federation chain except for the receiving node, and the interaction request is executed only when it is determined that the number of the blacklists is smaller than or equal to the preset number according to the detection result returned by the other nodes, so that the security of data interaction is further improved.
Further, a fifth embodiment of the data interaction method of the present invention is provided.
The fifth embodiment of the data interaction method differs from the first, second, third or fourth embodiment of the data interaction method in that the data interaction method further comprises:
and d, when the receiving node detects that the data is lost, determining that the data is lost.
The receiving node detects in real time or on a regular basis whether its stored data is lost. The data stored by the receiving node includes, but is not limited to, a black list, a white list, and data related to the interactive request. When the receiving node detects that its stored data is missing, the receiving node determines that the data has been missing.
And e, acquiring the lost data from other nodes in the alliance chain, and storing the lost data.
When the receiving node determines that the data is lost, the receiving node acquires the lost data from other nodes in the alliance chain and stores the acquired lost data from other nodes.
In this embodiment, after data is lost by a node in the federation chain, the lost data is obtained from other nodes through the characteristics of the block chain, so as to ensure the integrity of data of each node in the federation chain and improve the reliability of data in the data interaction process.
In addition, referring to fig. 4, the present invention further provides a data interaction apparatus, including:
an obtaining module 10, configured to obtain, after a receiving node in a federation chain receives an interaction request for data interaction, first interaction information corresponding to the interaction request, where the federation chain is set in a server;
the detection module 20 is configured to detect whether the first interaction information exists in a white list and a first black list of each node of the alliance chain, and obtain a detection result;
the execution module 30 is configured to execute the interactive request if the detection result meets a first preset condition.
Further, the detecting module 20 is further configured to detect whether the registration request meets the registration condition of the federation chain after detecting the registration request registered at the receiving node;
the executing module 30 is further configured to execute the registration request if the registration request meets the registration condition;
the detecting module 20 is further configured to detect whether the interaction request is received after the registration request is successfully executed.
Further, the obtaining module 10 is further configured to obtain second interaction information corresponding to the interaction request if the detection result does not meet the first preset condition;
the data interaction device further comprises:
the starting module is used for acquiring a wind control strategy corresponding to the receiving node;
the detection module 20 is further configured to detect whether the second interaction information meets a second preset condition through the wind control policy;
the starting module is further used for starting a manual auditing process if the second interactive information accords with the second preset condition;
the detection module 20 is further configured to detect whether an audit result is received;
the execution module 30 is further configured to execute the interactive request after receiving the audit result and determining that the interactive request passes through the manual audit according to the audit result.
Further, the data interaction device further comprises:
a sending module, configured to send the second interaction information to other nodes in the alliance chain except the receiving node if the second interaction information meets the second preset condition, so that the other nodes detect whether the second interaction information exists in a corresponding second blacklist, and return a corresponding detection result, where each node in the alliance chain has a corresponding second blacklist;
the first determining module is used for determining the number of the blacklists of the second interactive information searched in the second blacklist according to the detection result after receiving the detection result;
the executing module 30 is further configured to execute the interactive request if the number of the blacklists is less than or equal to a preset number.
Further, the sending module is further configured to send the second interaction information to other nodes in the alliance chain except the receiving node if the second interaction information meets the second preset condition, so that the other nodes determine the category of the second interaction information after receiving the second interaction information; when the second interactive information is determined to belong to the first class, the other nodes detect whether the second interactive information exists in the corresponding second blacklist, and send the obtained detection result to the receiving node; when the second interaction information is determined to belong to the second class, the other nodes acquire the current resource utilization rate; and when the resource utilization rate is smaller than a preset threshold value, detecting whether the second interactive information exists in the second blacklist, and sending the obtained detection result to the receiving node.
Further, the sending module includes:
a sending unit, configured to send the second interaction information to other nodes in the alliance chain except the receiving node if the second interaction information meets the second preset condition;
a detecting unit, configured to detect whether a waiting duration sent by the other node is received, where the waiting duration is a duration from when the other node receives the second interaction information to when the detection result is obtained;
the sending unit is further configured to send a detection request to the other node when the waiting duration is received and the waiting duration is smaller than a preset duration, so that the other node detects whether the second interaction information exists in the corresponding second blacklist after receiving the detection request, and returns a corresponding detection result.
Further, the data interaction device further comprises:
a second determining module, configured to determine that data has been lost when the receiving node detects that data is lost;
the obtaining module 10 is further configured to obtain the lost data from other nodes in the federation chain;
and the storage module is used for storing the lost data.
It should be noted that the embodiments of the data interaction apparatus are substantially the same as the embodiments of the data interaction method, and are not described in detail here.
In addition, the invention also provides data interaction equipment. As shown in fig. 5, fig. 5 is a schematic structural diagram of a hardware operating environment according to an embodiment of the present invention.
It should be noted that fig. 5 is a schematic structural diagram of a hardware operating environment of the data interaction device. The data interaction equipment of the embodiment of the invention can be terminal equipment such as a PC, a portable computer and the like.
As shown in fig. 5, the data interaction device may include: a processor 1001, such as a CPU, a memory 1005, a user interface 1003, a network interface 1004, a communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Optionally, the data interaction device may further include a camera, a Radio Frequency (RF) circuit, a sensor, an audio circuit, a WiFi module, and the like.
Those skilled in the art will appreciate that the data interaction device configuration shown in FIG. 5 does not constitute a limitation of the data interaction device, and may include more or fewer components than those shown, or some components in combination, or a different arrangement of components.
As shown in fig. 5, the memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a data interaction program. The operating system is a program for managing and controlling hardware and software resources of the data interaction device, and supports the operation of the data interaction program and other software or programs.
In the data interaction apparatus shown in fig. 5, the user interface 1003 is mainly used for receiving an interaction request, a registration request, and the like; the network interface 1004 is mainly used for connecting a background server and performing data communication with the background server, such as obtaining a black list and a white list stored by a link node of a federation; the processor 1001 may be configured to invoke a data interaction program stored in the memory 1005 and perform the steps of the data interaction method as described above.
The specific implementation of the data interaction device of the present invention is substantially the same as the embodiments of the data interaction method described above, and is not described herein again.
In addition, an embodiment of the present invention further provides a computer-readable storage medium, where a data interaction program is stored on the computer-readable storage medium, and when executed by a processor, the data interaction program implements the steps of the data interaction method described above.
The specific implementation of the computer-readable storage medium of the present invention is substantially the same as the embodiments of the data interaction method described above, and is not described herein again.
It should be noted that, in this document, 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 an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (8)

1. A data interaction method is characterized by comprising the following steps:
after receiving an interaction request of data interaction, a receiving node in a alliance chain acquires first interaction information corresponding to the interaction request, wherein the alliance chain is arranged in a server;
detecting whether the first interaction information exists in a white list and a first blacklist of each node of the alliance chain to obtain a detection result, wherein the first blacklist is a blacklist corresponding to the receiving node and a blacklist shared by other nodes in the alliance chain;
if the detection result meets a first preset condition, executing the interaction request;
after the step of detecting whether the first interaction information exists in a white list and a first black list of each node of a federation chain to obtain a detection result, the method further includes:
if the detection result does not meet the first preset condition, second interaction information corresponding to the interaction request is obtained;
acquiring a wind control strategy corresponding to the receiving node, and detecting whether the second interactive information meets a second preset condition or not through the wind control strategy;
if the second interactive information meets the second preset condition, starting a manual checking process and detecting whether a checking result is received;
when the audit result is received and the interactive request is confirmed to pass the manual audit according to the audit result, executing the interactive request;
after the step of obtaining the wind control policy corresponding to the receiving node and detecting whether the second interaction information meets a second preset condition through the wind control policy, the method further includes:
if the second interaction information meets the second preset condition, sending the second interaction information to other nodes in the alliance chain except the receiving node, so that the other nodes can detect whether the second interaction information exists in a corresponding second blacklist or not, and returning a corresponding detection result, wherein each node in the alliance chain has the corresponding second blacklist, and the second blacklist is a blacklist which is reserved for each node in the alliance chain and is not shared by other nodes in the alliance chain;
after receiving the detection result, determining the number of the blacklists of the second interactive information found in the second blacklist according to the detection result;
and if the number of the blacklists is less than or equal to the preset number, executing the interactive request.
2. The data interaction method of claim 1, wherein after the receiving node in the federation chain receives the interaction request for data interaction, before the step of obtaining the first interaction information corresponding to the interaction request, the method further comprises:
when a registration request registered at the receiving node is detected, detecting whether the registration request meets the registration condition of the alliance chain;
and if the registration request meets the registration condition, executing the registration request, and detecting whether the interaction request is received or not after the registration request is successfully executed.
3. The data interaction method according to claim 1, wherein the step of sending the second interaction information to other nodes in the federation chain except the receiving node if the second interaction information meets the second preset condition, so that the other nodes detect whether the second interaction information exists in a corresponding second blacklist, and return a corresponding detection result includes:
if the second interaction information meets the second preset condition, sending the second interaction information to other nodes except the receiving node in the alliance chain, so that the other nodes can determine the type of the second interaction information after receiving the second interaction information;
when the second interactive information is determined to belong to the first class, the other nodes detect whether the second interactive information exists in the corresponding second blacklist, and send the obtained detection result to the receiving node;
when the second interaction information is determined to belong to the second class, the other nodes acquire the current resource utilization rate;
and when the resource utilization rate is smaller than a preset threshold value, detecting whether the second interactive information exists in the second blacklist, and sending the obtained detection result to the receiving node.
4. The data interaction method according to claim 1, wherein the step of sending the second interaction information to other nodes in the federation chain except the receiving node if the second interaction information meets the second preset condition, so that the other nodes detect whether the second interaction information exists in a corresponding second blacklist, and return a corresponding detection result includes:
if the second interaction information meets the second preset condition, sending the second interaction information to other nodes except the receiving node in the alliance chain, and detecting whether waiting time sent by the other nodes is received, wherein the waiting time is the time from the other nodes receiving the second interaction information to the detection result;
and when the waiting time length is received and the waiting time length is less than the preset time length, sending a detection request to the other nodes so that the other nodes can detect whether the second interactive information exists in the corresponding second blacklist after receiving the detection request, and returning a corresponding detection result.
5. The data interaction method of any one of claims 1 to 4, wherein the data interaction method further comprises:
when the receiving node detects that the data is lost, determining that the data is lost;
and acquiring the lost data from other nodes in the alliance chain, and storing the lost data.
6. A data interaction device, the data interaction device comprising:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring first interaction information corresponding to an interaction request after a receiving node in a alliance chain receives the interaction request of data interaction, and the alliance chain is arranged in a server;
a detection module, configured to detect whether the first interaction information exists in a white list and a first blacklist of each node in the alliance chain, to obtain a detection result, where the first blacklist is a blacklist corresponding to the receiving node and a blacklist shared by other nodes in the alliance chain;
the execution module is used for executing the interaction request if the detection result meets a first preset condition;
the obtaining module is further configured to obtain second interaction information corresponding to the interaction request if the detection result does not meet the first preset condition;
the data interaction device further comprises:
the starting module is used for acquiring a wind control strategy corresponding to the receiving node;
the detection module is further used for detecting whether the second interaction information meets a second preset condition through the wind control strategy;
the starting module is further used for starting a manual auditing process if the second interactive information accords with the second preset condition;
the detection module is also used for detecting whether an audit result is received;
the execution module is further used for executing the interactive request after receiving the audit result and determining that the interactive request passes the manual audit according to the audit result;
wherein, the data interaction device further comprises:
a sending module, configured to send the second interaction information to other nodes in the federation chain except the receiving node if the second interaction information meets the second preset condition, so that the other nodes detect whether the second interaction information exists in a corresponding second blacklist, and return a corresponding detection result, where each node in the federation chain has a corresponding second blacklist, and the second blacklist is a blacklist that is reserved by each node in the federation chain and is not shared by other nodes in the federation chain;
the first determining module is used for determining the number of the blacklists of the second interactive information searched in the second blacklist according to the detection result after receiving the detection result;
the execution module is further configured to execute the interactive request if the number of the blacklists is less than or equal to a preset number.
7. A data interaction device, characterized in that the data interaction device comprises a memory, a processor and a data interaction program stored on the memory and executable on the processor, the data interaction program, when executed by the processor, implementing the steps of the data interaction method as claimed in any one of claims 1 to 5.
8. A computer-readable storage medium, on which a data interaction program is stored, which when executed by a processor implements the steps of the data interaction method of any one of claims 1 to 5.
CN201811008900.5A 2018-08-31 2018-08-31 Data interaction method, device, equipment and readable storage medium Active CN109688186B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811008900.5A CN109688186B (en) 2018-08-31 2018-08-31 Data interaction method, device, equipment and readable storage medium
PCT/CN2018/122639 WO2020042464A1 (en) 2018-08-31 2018-12-21 Data interaction method, apparatus and device, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811008900.5A CN109688186B (en) 2018-08-31 2018-08-31 Data interaction method, device, equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN109688186A CN109688186A (en) 2019-04-26
CN109688186B true CN109688186B (en) 2021-01-08

Family

ID=66184479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811008900.5A Active CN109688186B (en) 2018-08-31 2018-08-31 Data interaction method, device, equipment and readable storage medium

Country Status (2)

Country Link
CN (1) CN109688186B (en)
WO (1) WO2020042464A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245187A (en) * 2019-05-20 2019-09-17 深圳壹账通智能科技有限公司 A kind of list type queries method and node based on block chain
CN110335031A (en) * 2019-07-11 2019-10-15 中国银行股份有限公司 A kind of problem account information investigation method and device
CN111813853B (en) * 2020-05-29 2022-07-22 深圳平安医疗健康科技服务有限公司 Data acquisition method and device based on block chain system and computer equipment
CN112492591B (en) * 2020-11-06 2022-12-09 广东电网有限责任公司电力调度控制中心 Method and device for accessing power Internet of things terminal to network
CN114726561B (en) * 2020-12-22 2024-04-05 京东科技信息技术有限公司 Data processing method, device and system
CN112613052A (en) * 2020-12-24 2021-04-06 北京金山云网络技术有限公司 Rights and interests management method and device
CN112883411A (en) * 2020-12-29 2021-06-01 杭州趣链科技有限公司 Data processing method and system based on block chain, electronic device and storage medium
CN113158212A (en) * 2021-04-23 2021-07-23 深圳前海华兆新能源有限公司 Distributed database security authentication method based on block chain technology
CN115604035B (en) * 2022-12-13 2023-03-28 杭州城市大脑有限公司 City brain data sharing method based on alliance chain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473611B1 (en) * 2009-09-04 2013-06-25 Blue Coat Systems, Inc. Referrer cache chain
CN106878000A (en) * 2017-03-06 2017-06-20 中钞信用卡产业发展有限公司北京智能卡技术研究院 A kind of alliance's chain common recognition method and system
CN107682331A (en) * 2017-09-28 2018-02-09 复旦大学 Internet of Things identity identifying method based on block chain
CN107707644A (en) * 2017-09-27 2018-02-16 北京趣拿软件科技有限公司 Processing method, device, storage medium, processor and the terminal of request message

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256988A (en) * 2016-12-30 2018-07-06 深圳壹账通智能科技有限公司 The data processing method and device of alliance of credit information service
CN108156159A (en) * 2017-12-27 2018-06-12 质数链网科技成都有限公司 A kind of multi-application system login method and block chain distribution general ledger system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473611B1 (en) * 2009-09-04 2013-06-25 Blue Coat Systems, Inc. Referrer cache chain
CN106878000A (en) * 2017-03-06 2017-06-20 中钞信用卡产业发展有限公司北京智能卡技术研究院 A kind of alliance's chain common recognition method and system
CN107707644A (en) * 2017-09-27 2018-02-16 北京趣拿软件科技有限公司 Processing method, device, storage medium, processor and the terminal of request message
CN107682331A (en) * 2017-09-28 2018-02-09 复旦大学 Internet of Things identity identifying method based on block chain

Also Published As

Publication number Publication date
CN109688186A (en) 2019-04-26
WO2020042464A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
CN109688186B (en) Data interaction method, device, equipment and readable storage medium
US11096051B2 (en) Connection establishment method, device, and system
CN112165454B (en) Access control method, device, gateway and console
US8931065B2 (en) OTA bootstrap method and system
CN104767713B (en) Account binding method, server and system
CN112953745B (en) Service calling method, system, computer device and storage medium
CN110795174B (en) Application program interface calling method, device, equipment and readable storage medium
CN110363026A (en) File operation method, device, equipment, system and computer readable storage medium
US20170303065A1 (en) Method and device for creating subscription resource
CN113067859A (en) Communication method and device based on cloud mobile phone
CN109547427B (en) Blacklist user identification method and device, computer equipment and storage medium
CN113873491A (en) Communication apparatus, system, and computer-readable storage medium
CN107819768B (en) Method for server to actively disconnect illegal long connection, terminal equipment and storage medium
CN112788518B (en) Location service processing method and related equipment
CN111756716A (en) Flow detection method and device and computer readable storage medium
CN109688096B (en) IP address identification method, device, equipment and computer readable storage medium
CN108494749B (en) Method, device and equipment for disabling IP address and computer readable storage medium
CN110708309A (en) Anti-crawler system and method
CN112651044B (en) Business transaction method, system and storage medium based on block chain technology
CN111866995B (en) WeChat applet-based intelligent device network distribution method and system
CN103559430B (en) application account management method and device based on Android system
CN109299053B (en) File operation method, device and computer storage medium
CN111866993A (en) Wireless local area network connection management method, device, software program and storage medium
CN106685914A (en) Information authentication method, server and client
CN109756403A (en) Access verification method, device, system and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant