WO2020253467A1 - 一种基于区块链系统的数据处理方法、系统及装置 - Google Patents

一种基于区块链系统的数据处理方法、系统及装置 Download PDF

Info

Publication number
WO2020253467A1
WO2020253467A1 PCT/CN2020/091934 CN2020091934W WO2020253467A1 WO 2020253467 A1 WO2020253467 A1 WO 2020253467A1 CN 2020091934 W CN2020091934 W CN 2020091934W WO 2020253467 A1 WO2020253467 A1 WO 2020253467A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
node
index
retrieved
pieces
Prior art date
Application number
PCT/CN2020/091934
Other languages
English (en)
French (fr)
Inventor
沈蒙
邓雅文
祝烈煌
张�杰
范瑞彬
张开翔
李辉忠
李成博
Original Assignee
深圳前海微众银行股份有限公司
北京理工大学
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 深圳前海微众银行股份有限公司, 北京理工大学 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2020253467A1 publication Critical patent/WO2020253467A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention relates to the field of financial technology (Fintech) blockchain technology, and in particular to a data processing method, system and device based on a blockchain system.
  • Financial technology Fetech
  • the loan department can obtain the information generated by other departments in the process of performing historical transactions with the customer after receiving the loan request from the customer.
  • the historical credit data of the customer it is possible to determine whether the customer can obtain a loan according to the historical credit data of the customer. In this way, by realizing data sharing and data retrieval in the financial technology field, the steady development of the financial technology field can be guaranteed.
  • the financial technology field can realize the sharing and retrieval of transaction data through the cloud platform.
  • each department can send the user's historical credit information data to the cloud platform in an encrypted manner, so that the user's historical credit data can be stored in the cloud platform; accordingly, If the cloud platform receives the retrieval request sent by the loan department, it can send the user's historical credit information data to the loan department in an encrypted manner, so that the loan department can determine whether to lend to the user based on the user's historical credit information data.
  • a third-party platform such as a cloud platform
  • the third-party platform itself has the risk of data leakage and cannot guarantee the security of shared data Therefore, this method cannot meet the requirements of the financial technology field.
  • the blockchain system as a point-to-point decentralized system, can solve the problem of untrustworthy third-party platforms, and each node in the blockchain system can jointly maintain the ledger data, thereby avoiding the ledger data Tampered by other nodes. Therefore, if the blockchain system is introduced to realize data sharing and data retrieval in the financial technology field, it will help ensure the security of shared data and meet the requirements of the financial technology field.
  • the invention provides a data processing method based on a blockchain system, which is used to realize data sharing and data retrieval in the blockchain system.
  • the present invention provides a data processing method based on a blockchain system, including:
  • index data can be shared by the nodes in the blockchain system, that is, the data sharing and data retrieval process in the blockchain system is realized.
  • feature value of the data to be retrieved for retrieval it can be ensured that the target index data obtained by the retrieval has similar features with the data to be retrieved, thereby improving the accuracy of data retrieval.
  • the method before the receiving the retrieval request sent by the first node in the blockchain system, the method further includes: receiving authentication information sent by the first node, and determining the authentication information of the first node Legal; wherein the authentication information includes the identity of the first node, the organization to which the first node belongs, and the contact information of the first node.
  • the first node before the retrieval request sent by the first node is retrieved, by determining whether the authentication information of the first node is legal, the first node can be allowed to retrieve the preset index library when the first node is determined to be legal. If the first node is illegal, the first node is not allowed to retrieve the preset index library, which can ensure the security of multiple index data in the preset index library and improve the security of data sharing and data retrieval in the blockchain system Sex.
  • the preset index library is obtained by receiving one or more pieces of shared data sent by at least one second node in the blockchain system, and combining the one or Multiple pieces of shared data are stored in a preset block; each piece of shared data in the one or more pieces of shared data includes the characteristic value of the source data corresponding to each piece of shared data, the type of the source data, and the The address of the source data, the address of the source data is used to obtain the source data; further, the index value corresponding to the one or more pieces of shared data is set, and the index corresponding to the one or more pieces of shared data is set Value, the characteristic value of the source data corresponding to the one or more pieces of shared data, the type of the source data, and the address of the source data to generate one or more pieces of index data corresponding to the one or more pieces of shared data , And then construct the preset index library according to the one or more pieces of index data.
  • the shared data sent by at least one second node is stored by setting a preset block, so that the blockchain system can determine whether there is new shared data uploaded to the blockchain by analyzing the state of the preset block
  • the complexity of the data sharing process can be reduced, and the flexibility of the shared data management can be improved.
  • the above design realizes the data sharing process in the blockchain system based on the transaction processing algorithm, which can reduce the complexity and cost of development.
  • the acquiring at least one piece of index data in the preset index library includes: acquiring from the one or more pieces of index data and the data to be retrieved according to the type of the data to be retrieved The at least one piece of index data whose type matches.
  • the process of retrieving one or more index data can be made more flexible and efficient, for example, according to the type of one or more index data At least one piece of index data matching the type of data to be retrieved can be obtained, so that retrieval is performed based on at least one piece of index data that matches the type of data to be retrieved, which can reduce the amount of data to be retrieved and improve the efficiency of retrieval.
  • the obtaining target index data matching the feature value of the data to be retrieved from the at least one piece of index data according to the feature value of the data to be retrieved includes: obtaining the at least A feature value of at least one piece of source data corresponding to one piece of index data, and the degree of similarity between the at least one piece of index data and the data to be retrieved is determined based on the feature value of the at least one piece of source data and the feature value of the data to be retrieved Further, according to the degree of similarity between the at least one piece of index data and the data to be detected, select the target index from the at least one piece of index data that has a degree of similarity with the data to be retrieved that is greater than a first preset threshold data.
  • the characteristic value of the data to perform the data sharing and data retrieval process, there is no need to obtain the source data, and the characteristic value of the data is greatly reduced compared with the source data, thus making data sharing and data retrieval required
  • the amount of data is less, which improves the efficiency of data sharing and data retrieval.
  • the similarity between the feature value of at least one piece of source data and the feature value of the data to be retrieved can be used to characterize the degree of similarity between the at least one piece of source data and the data to be retrieved, so this method can also improve the accuracy of retrieval.
  • the characteristic value of the data to be retrieved is a characteristic value encrypted using a secure multi-party calculation method.
  • the security of the data sharing and retrieval process can be guaranteed.
  • the source similarity determined based on the encrypted feature value can characterize the degree of similarity between the data before encryption and the data to be retrieved, so that in the above design
  • the data processing method can improve the accuracy of processing.
  • the present invention provides a blockchain system, the blockchain system includes a retrieval node, at least one data providing node and at least one data using node, and the at least one data using node includes a first node;
  • the at least one data usage node is used to store the encrypted one or more pieces of shared data in a preset block
  • the retrieval node is configured to obtain the one or more pieces of shared data stored in the preset block, and generate one or more pieces of shared data corresponding to the one or more pieces of shared data according to the one or more pieces of shared data.
  • the first node is configured to send the characteristic value of the data to be retrieved to the retrieval node
  • the retrieval node is also used to retrieve the one or more pieces of index data according to the characteristic value of the data to be retrieved, to obtain target index data that matches the data to be retrieved, and to send the target index data To the first node.
  • the shared data can be uploaded to the blockchain system through the data providing nodes, and then the shared data can be indexed through the retrieval nodes.
  • the blockchain system further includes a supervisory node; the supervisory node is used to authenticate the at least one data providing node and the at least one data using node, if it is determined that the If at least one data providing node is legal, the at least one data providing node is allowed to store the encrypted one or more pieces of shared data in a preset block; and, if it is determined that the at least one data using node is legal, then all the data using nodes are allowed to be legal.
  • the at least one data using node sends the characteristic value of the data to be retrieved to the retrieval node.
  • the supervisory node can be used to manage data provider nodes and data consumer nodes, thereby avoiding illegal data provider nodes and/or data consumer nodes from joining the block
  • the chain system ensures the security of the blockchain system and improves the security of shared data in the blockchain system.
  • the present invention provides a data processing device based on a blockchain system, the device comprising:
  • the transceiver module is configured to receive a retrieval request sent by the first node in the blockchain system, where the retrieval request includes the characteristic value of the data to be retrieved;
  • the obtaining module is used to obtain at least one piece of index data in the preset index library, and obtain a target index matching the feature value of the data to be retrieved from the at least one piece of index data according to the feature value of the data to be retrieved data;
  • the transceiver module is further configured to send the target index data to the first node, so that the first node obtains the source data corresponding to the target index data according to the target index data.
  • the transceiver module before the transceiver module receives the retrieval request sent by the first node in the blockchain system, it is also used to: receive the authentication information sent by the first node, and determine the first node The authentication information is legal; wherein the authentication information includes the identity of the first node, the organization to which the first node belongs, and the contact information of the first node.
  • the preset index library is obtained by receiving one or more pieces of shared data sent by at least one second node in the blockchain system, and combining the one or Multiple pieces of shared data are stored in a preset block; each piece of shared data in the one or more pieces of shared data includes the characteristic value of the source data corresponding to each piece of shared data, the type of the source data, and the The address of the source data, the address of the source data is used to obtain the source data; further, the index value corresponding to the one or more pieces of shared data is set, and the index corresponding to the one or more pieces of shared data is set Value, the characteristic value of the source data corresponding to the one or more pieces of shared data, the type of the source data, and the address of the source data to generate one or more pieces corresponding to the one or more pieces of shared data Index data, and then construct the preset index library according to the one or more pieces of index data.
  • the obtaining module is specifically configured to: according to the type of the data to be retrieved, obtain the at least one item matching the type of the data to be retrieved from the one or more pieces of index data Index data.
  • the acquiring module is specifically configured to: acquire the feature value of at least one piece of source data corresponding to the at least one piece of index data, and according to the feature value of the at least one piece of source data and the data to be retrieved To determine the degree of similarity between the at least one piece of index data and the data to be retrieved; further, selecting from the at least one piece of index data according to the degree of similarity between the at least one piece of index data and the data to be detected The target index data whose similarity degree is greater than a first preset threshold.
  • the characteristic value of the data to be retrieved is a characteristic value encrypted using a secure multi-party calculation method.
  • the present invention provides a computer-readable storage medium, including instructions, which when run on a computer, cause the computer to execute the method described in any of the first or second aspects.
  • the present invention provides a computer program product, which when run on a computer, causes the computer to execute the method described in any of the first or second aspects.
  • FIG. 1 is a schematic diagram of a system architecture of a blockchain system provided by an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a corresponding process flow of a data sharing method based on a blockchain system provided by an embodiment of the present invention
  • FIG. 3 is a schematic diagram of the corresponding flow of another data retrieval method based on a blockchain system provided in an embodiment of the present invention
  • Figure 4 is a schematic structural diagram of a data processing device based on a blockchain system provided in an embodiment of the present invention
  • Figure 5 is a schematic structural diagram of a terminal device provided in an embodiment of the present invention.
  • Fig. 6 is a schematic structural diagram of a back-end device provided in an embodiment of the present invention.
  • Fintech refers to a new innovative technology brought to the financial field after the integration of information technology into the financial field.
  • the financial system can be improved by using advanced information technology to assist in financial operations, transaction execution and financial system improvements. Processing efficiency, business scale, and can reduce costs and financial risks.
  • the field of financial technology usually involves a large number of transactions, such as loan transactions in the credit business system, card sales transactions in the sales business system, and transfer transactions in the payment business system. How to use technology to mine a large number of transactions It has always been the goal pursued by the financial technology field to extract the characteristics required by the financial field.
  • the insurance business department detects that a user applies for a certain insurance business, it usually needs to check the user’s physical condition. If it is determined that the user’s current physical condition satisfies According to the requirements of the insurance business applied for by the user, the insurance applied for can be provided to the user. If it is determined that the current physical condition of the user does not meet the requirements of the insurance business applied for by the user, the user's application may be disapproved, thereby avoiding the loss of the insurance business.
  • the insurance business department can obtain the user’s historical medical records from multiple hospitals, such as visiting the hospital and/or resident in the user’s birthplace
  • the local hospital inquires the user's outpatient medical records, inpatient medical records, etc., and then determines whether the user has a major illness by analyzing the user's historical medical records. In the case where it is determined that the user is currently suffering from a major illness, the user may not be provided with severe illness insurance, and in the case where it is determined that the user is not currently suffering from a major illness, the user may be provided with a severe illness insurance.
  • the insurance business department may need to spend a long time and energy to communicate and negotiate with multiple hospitals to obtain the user's comprehensive medical records. It can be seen that in the field of financial technology, the process of data sharing is extremely dependent on manpower, and the efficiency of data sharing is also poor.
  • the embodiment of the present invention provides a data processing method based on a blockchain system, which is used to combine the blockchain system and the data processing process in the financial technology field, and improve the data sharing and data processing in the financial technology field. The efficiency of retrieval.
  • FIG 1 is a schematic diagram of the system architecture of a blockchain system provided by an embodiment of the present invention.
  • the blockchain system may include at least one data providing node, such as node 101, node 102 and node 103.
  • the block chain system may also include a retrieval node 200 and at least one data usage node, such as a node 300.
  • Any two nodes in the blockchain system can communicate with each other to jointly maintain the ledger data in the blockchain system. Any two nodes can communicate through wired or wireless communications, which is not specific. limited.
  • At least one data provider node can store their respective shared data on a preset block of the blockchain system. Accordingly, the retrieval node 200 can obtain one or more pieces of shared data from the preset block , And can generate one or more index data corresponding to one or more shared data. In this way, at least one data provider node and retrieval node 200 can realize data sharing in the blockchain system.
  • the node 300 can send a retrieval request to the retrieval node 200, and the retrieval node 200 can receive the retrieval request according to the retrieval request
  • One or more pieces of index data are retrieved to obtain the target index data, and then the target index data can be sent to the node 300.
  • the retrieval node 200 and at least one data user node data retrieval in the blockchain system can be realized.
  • the shared data can be uploaded to the blockchain system through the data providing node, and then an index for the shared data can be constructed through the retrieval node , Get index data.
  • the index data can be retrieved through the retrieval node to obtain the target index data required by the data user. That is to say, the blockchain system in the above design can realize the data sharing and data retrieval process, and the security of shared data can be guaranteed by executing the data sharing and data retrieval process in the blockchain.
  • the blockchain system may be FISCO BCOS (ie, the underlying platform of the financial version of the blockchain). It should be understood that the blockchain system can also be a system with other functions, which will not be repeated here.
  • the blockchain system may also include a supervisory node 400, which can be connected to at least one data provider node and at least one data consumer node, for example, The connection is performed in a wireless manner, or may be connected in a wired manner, which is not specifically limited.
  • the supervisory node 400 may authenticate at least one data providing node and at least one data using node, and determine whether to allow at least one data providing node and at least one data using node to perform data processing in the blockchain system according to the authentication result. process.
  • the supervisory node by setting a supervisory node in the blockchain system, the supervisory node can be used to manage data provider nodes and data user nodes, thereby avoiding illegal data provider nodes and/or data user nodes from joining the zone
  • the blockchain system ensures the security of the blockchain system and improves the security of shared data in the blockchain system.
  • node 101 can send authentication information to supervisory node 400 before sending shared data.
  • supervisory node 400 can allow node 101 to store shared data if it determines that the authentication information of node 101 is legal.
  • the preset block if it is determined that the authentication information of the node 101 is illegal, the node 101 is not allowed to store the shared data in the preset block.
  • the node 101 can send authentication information to the supervisory node 400 before joining the blockchain system. In this way, if the supervisory node 400 determines that the authentication information of the node 101 is legal, it can allow the node 101 to join the blockchain system. If it is determined that the authentication information of the node 101 is illegal, the node 101 is not allowed to join the blockchain system.
  • the node 300 can send the authentication information to the supervisory node 400 before sending the search request.
  • the supervisory node 400 determines that the authentication information of the node 300 is legal, it can allow the node 300 to send the search to the search node 200.
  • Request if it is determined that the authentication information of the node 300 is illegal, the node 300 is not allowed to send a search request to the search node 200.
  • the node 300 can send authentication information to the supervisory node 400 before joining the blockchain system. In this way, if the supervisory node 400 determines that the authentication information of the node 300 is legal, it can allow the node 300 to join the blockchain system. If it is determined that the authentication information of the node 300 is illegal, the node 300 is not allowed to join the blockchain system.
  • At least one data providing node may be a node corresponding to at least one hospital
  • at least one data use node may be a node corresponding to an insurance business department.
  • Linking with the insurance business department can enable at least one hospital and the insurance business department to share data.
  • the following takes the hospital node 101, the hospital node 102, the hospital node 103, and the insurance node 300 as examples to describe the specific implementation process of data sharing in the blockchain system. Understandably, the hospital node 101 is the node 101, the hospital node 102 is the node 102, the hospital node 103 is the node 103, and the insurance node 300 is the node 300.
  • the data processing method provided by the embodiment of the present invention may include a data sharing phase based on a blockchain system and a data retrieval phase based on a blockchain system.
  • the following describes the specific implementation of the data sharing phase based on a blockchain system process.
  • FIG. 2 is a schematic flowchart of a data sharing method based on a blockchain system provided by an embodiment of the present invention, and the method includes:
  • Step 201 Store one or more pieces of shared data in a preset block of the blockchain system through at least one data provider node.
  • the hospital node 101 may perform identity registration through the supervisory node 400 before sending the shared data to the blockchain system.
  • the hospital node 101 may send authentication information to the supervisory node 400.
  • the authentication information may include the identification of the hospital node 101, the address where the hospital node 101 is located, and the contact information of the hospital node 101.
  • the identifier of the hospital node 101 may refer to the name of the hospital node 101, or may refer to the legal person information of the hospital node 101, such as the hash value of the legal person's ID number, which is not specifically limited.
  • the supervisory node 400 after the supervisory node 400 receives the authentication information of the hospital node 101, it can check the legitimacy of the authentication information.
  • the identification of the hospital node 101 it can determine whether the hospital node 101 exists, whether the address of the hospital node 101 matches, the hospital node Is 101's contact information correct? If it is determined that the authentication information of the hospital node 101 is legal, the supervisory node 400 can allow the hospital node 101 to join the blockchain system. If the authentication information of the hospital node 101 is determined to be illegal, the supervisory node 400 can send authentication failure information to the hospital node 101 .
  • At least one data provider node is authenticated by the supervisory node, which can ensure that the blockchain system is in a safe and reliable environment, thereby improving the security of data sharing in the blockchain system.
  • the hospital node 101 can store its own clinic records in a preset block of the blockchain system. Specifically, the hospital node 101 can generate transaction data according to its own outpatient records, and then can send the transaction data to the blockchain system. For example, it can directly send the transaction data to other nodes in the blockchain system, or Send transaction data to the public network of the blockchain system so that other nodes can obtain transaction data from the public network. Further, if the transaction data passes the consensus of other nodes in the blockchain system, the transaction data can be stored in a preset block.
  • the outpatient record can be any one or any combination of text data and image data.
  • it can be a doctor's diagnosis record, hospitalization record, and diet record of the user, or it can be a computer tomography (Computed Tomography) taken by the user. , CT) images, ultrasound images, etc., which are not specifically limited.
  • the hospital node 101 may encrypt its own outpatient records, so as to send the encrypted outpatient records as transaction data to the blockchain system.
  • the hospital node 101 can extract at least one feature of the CT image from the CT image, and then can encrypt at least one feature using a secure multi-party calculation method to obtain the first An encrypted characteristic value and a second encrypted characteristic value.
  • the first encrypted feature value may be the sum value of encrypted features
  • the second encrypted feature value may be the sum of square values of encrypted features.
  • the hospital node 101 can generate transaction data according to the first encrypted feature value and the second encrypted feature value, and then send the transaction data to the blockchain system.
  • the process of encrypting an image may include an image feature extraction stage and an image feature encryption stage.
  • the encryption process will be described below from these two stages.
  • the hospital node 101 can obtain a preset extraction algorithm, and then use the preset extraction algorithm to extract image features.
  • the preset extraction algorithm can be set by those skilled in the art according to experience, or can be set according to the needs of the user, for example, it can be the MEPG-7 algorithm, which is not specifically limited.
  • the hospital node 101 can analyze these 10 images to obtain the edge histograms corresponding to the 10 images.
  • the feature set of 10 images can be obtained from the edge histograms of 10 images. For example, if each image includes 5 features, the feature set of 10 images may include 10 sub-vectors, and each sub-vector includes 5 features of the image corresponding to the sub-vector.
  • the hospital node 101 can obtain a preset encryption algorithm, and then use the preset encryption algorithm to encrypt the features of each image to obtain 10 encrypted feature values.
  • the preset encryption algorithm can be set by those skilled in the art based on experience, or can be set according to the needs of the user. For example, it can be a secure multi-party calculation algorithm, which is not specifically limited.
  • the hospital node 101 can obtain the prime number a and the prime number b in advance, and can store the prime number b in the hospital node 101, and send the prime number a to other nodes in the blockchain system , Such as hospital node 102, hospital node 103, search node 200, insurance node 300, etc.
  • prime number a and prime number b can satisfy the following formula:
  • the hospital node 101 can randomly select the number h, and can use the number h, the prime number a, and the prime number b to calculate the first reference value h1 and the second reference value h2 according to the following formula:
  • the hospital node 101 can randomly select the number c i , and can use the number c i , the first reference value h 1 and the second reference value h 2 according to the following formula
  • the feature indicator value R j corresponding to each feature (item j) of each image in each of the 10 images is calculated:
  • the number c i-1 is the number corresponding to the j-1th feature.
  • the hospital node 101 After determining the feature indicator value R j corresponding to each feature of each image (item j), the hospital node 101 can according to the prime number a, feature indicator value R j, and features of each item (such as item j) according to The following formula obtains the encrypted feature value emj corresponding to each feature:
  • m j is the j-th feature.
  • the hospital node 101 may add the encrypted feature values em1 to em5 corresponding to the 5 features corresponding to the first image to obtain the first encrypted feature value,
  • the squares em21 ⁇ em25 of the encrypted feature values corresponding to the five features corresponding to the first image can be added to obtain the second encrypted feature value.
  • the security of the data sharing and retrieval process can be guaranteed.
  • the encrypted feature value based on secure multi-party calculation has a corresponding relationship with the feature value before encryption, so that the source similarity determined based on the encrypted feature value can characterize the similarity between the data before encryption and the data to be retrieved, so that the present invention
  • the data sharing method in the embodiment can improve the accuracy of data sharing.
  • the embodiment of the present invention refers to the first encryption feature and the second encryption feature as an encryption feature set.
  • the hospital node 101 may generate shared data according to the encrypted feature sets corresponding to the 10 images.
  • the shared data may include the encryption feature set corresponding to each of the 10 images.
  • the hospital node 101 may generate shared data according to the uniform resource locator (URL) addresses of the 10 images, the encryption feature sets corresponding to the 10 images, and the types of the 10 images.
  • the shared data corresponding to the first image may include the URL address, encryption feature set, image type of the first image, and an index number obtained according to the URL address, encryption feature set, and image type.
  • the URL address of the first image can occupy 4 bytes of space.
  • the URL address is used to obtain the first image.
  • the type of the first image can occupy 16 bytes of space.
  • the image types are brain images and lungs. Images, chest images, etc., the encryption feature set of the first image can occupy 128 bytes of space, and the index number of the first image can occupy 32 bytes of space.
  • the index number is used to identify the first image in the hospital node 101 Number.
  • the transaction data sent by the hospital node 101 may include a first sub-part, a second sub-part, and a third sub-part.
  • the first sub-part may be the input address of the transaction, occupying 32 bytes of space, such as the logo of the hospital 101.
  • the second sub-part can be the output address of the transaction, occupying 32 bytes of space, such as the location information of the preset block.
  • the third sub-part can be shared data.
  • the above process describes the process of the hospital node 101 storing its own diagnosis and treatment records in the preset block. It is understandable that the hospital node 102 and the hospital node 103 can also use the same method to store their respective diagnosis and treatment records in the preset block. I won't repeat them here. In this way, all diagnosis and treatment records of the hospital node 101 to the hospital node 103, such as 50 pieces of shared data, can be stored in the preset block of the blockchain system.
  • Step 202 Obtain one or more pieces of shared data through the retrieval node, and generate one or more pieces of index data corresponding to the one or more pieces of shared data, and construct a preset index database based on the one or more pieces of index data.
  • the retrieval node 200 can obtain 50 pieces of shared data of the hospital node 101 to the hospital node 103 stored in a preset block, and can establish indexes for the 50 pieces of shared data, and then can be based on the 50 pieces of shared data and The index corresponding to the 50 pieces of shared data generates 50 pieces of index data corresponding to the 50 pieces of shared data. In this way, the 50 pieces of index data can form a preset index library.
  • Table 1 is a schematic table of a preset index library provided by an embodiment of the present invention.
  • each piece of shared data may include the identity of the data provider of the shared data, index number, image type, first encrypted feature value and second Encrypted feature value.
  • the provider of this piece of shared data can be node 101
  • the image type can be a brain image
  • the first encrypted feature value of this piece of shared data can be SUM1.
  • the second encryption characteristic value of the data may be SUM12.
  • Table 1 is only an exemplary simple description.
  • the content of the shared data listed in it is only for the convenience of explaining the plan, and does not constitute a limitation on the plan.
  • the shared data can also include Other information, such as address information and generation time information, is not specifically limited.
  • the retrieval node 200 can detect the state of the preset block according to a preset period (for example, 5 min). If it is determined that new transaction data is stored in the preset block during a certain detection process, then The transaction data can be obtained, and the preset index library can be updated according to the shared data in the transaction data. For example, based on the preset index library shown in Table 1, if the retrieval node 200 detects that a new transaction data is stored in the preset block at a certain moment, it can obtain the transaction data and parse it to obtain The piece of transaction data includes one or more pieces of shared data. If the piece of transaction data is stored by the node 102 in a preset block, the updated preset index library may be as shown in Table 2.
  • a preset period for example, 5 min.
  • the index number Data provider Types of First encrypted feature value Second encrypted feature value IM-1 Node 101 Brain SUM1 SUM12 IM-2 Node 101 chest SUM2 SUM22 IM-3 Node 102 Brain SUM3 SUM32 IM-4 Node 103 Brain SUM4 SUM42 IM-5 Node 102 Lungs SUM5 SUM52 IM-6 Node 102 Brain SUM6 SUM62
  • this piece of transaction data can include two pieces of shared data. After the two pieces of shared data are parsed, the retrieval node 200 can set these two pieces in the order of the index numbers of the stored index data in the preset index library.
  • the index number of the shared data For example, based on the preset index library shown in Figure 1, since the largest index number in the preset index library is IM-4, the index numbers of the two shared data can be set to IM-5 and IM-6 respectively. .
  • the above process describes the specific implementation process of the data sharing phase based on the blockchain system, and the specific implementation process of the data retrieval phase based on the blockchain system is described below.
  • the shared data sent by at least one second node is stored by setting a preset block, so that the blockchain system can analyze the state of the preset block to determine whether there is new shared data uploaded to the blockchain
  • the complexity of the data sharing process is reduced, and the flexibility of the shared data management is improved; and the embodiment of the present invention implements the data sharing process in the blockchain system based on the transaction processing algorithm, which can reduce the complexity of development, cut costs.
  • Fig. 3 is a schematic diagram of a process corresponding to a data retrieval method based on a blockchain system provided by an embodiment of the present invention, and the method includes:
  • Step 301 Receive a search request sent by a first node among at least one data provider node.
  • the first node 300 can also be a hospital node; for example, if a hospital receives a patient, the patient has a tumor in the brain, and the hospital has not treated this type of patient , The hospital can retrieve a target patient similar to the patient processed by other hospital nodes by submitting a retrieval request in the blockchain system.
  • the first node 300 may perform the retrieval process by joining the blockchain system. Specifically, the first node 300 may perform identity registration through the supervisory node 400. Specifically, the first node 300 may send authentication information to the supervisory node 400, and the authentication information may include the identification of the first node 300, the organization name of the first node 300, the contact information of the first node 300, and so on.
  • the identifier of the first node 300 may refer to the legal person information of the first node 300, such as the hash value of the legal person's ID number, which is not specifically limited.
  • the supervisory node 400 can detect the legitimacy of the authentication information.
  • the first node 300 can determine whether the first node 300 exists and whether the organization name of the first node 300 is Correct, whether the contact information of the first node 300 is correct, etc. If it is determined that the authentication information of the first node 300 is legal, the first node 300 may be allowed to join the blockchain system. If the authentication information of the first node 300 is determined to be illegal, the authentication failure information may be sent to the first node 300.
  • the first node before the retrieval request sent by the first node is retrieved, by determining whether the authentication information of the first node is legal, the first node can be allowed to retrieve the preset index library when it is determined that the first node is legal. If the first node is illegal, the first node is not allowed to retrieve the preset index library, which can ensure the security of multiple index data in the preset index library and improve the security of data sharing and data retrieval in the blockchain system Sex.
  • the brain of the patient can be photographed in advance to obtain a CT image, and the CT image can be the data to be retrieved. Further, the first node 300 may perform feature extraction and feature encryption on the data to be retrieved to obtain an encrypted feature set corresponding to the data to be retrieved. It should be noted that the process of obtaining the encryption feature set of the data to be retrieved can be implemented with reference to step 201, which will not be repeated here.
  • the first node 300 may generate a retrieval instruction, and may send the retrieval instruction to the retrieval node 200.
  • the first node 300 may generate the retrieval instruction in many ways.
  • the first node 300 may generate the retrieval instruction according to the encryption feature set corresponding to the data to be retrieved, the identification of the first node 300 and the type of the data to be retrieved, or ,
  • the first node 300 may generate a retrieval instruction according to the encryption feature set corresponding to the data to be retrieved, the identification of the first node 300, the type of the data to be retrieved, and the retrieval time, which is not specifically limited.
  • the first node 300 can obtain the current time in real time, and if it is determined that the time difference between the current time and the retrieval time exceeds the preset time period, the retrieval instruction can be resent to the retrieval node 300.
  • a smart contract may be set in the retrieval node 200. Therefore, after the first node 300 sends the retrieval instruction, the retrieval node 200 can call the smart contract to obtain the retrieval instruction; in this way, the retrieval instruction sent by the first node 300 is Smart contract acquisition. Further, the smart contract can parse the retrieval instruction to obtain the encrypted feature set corresponding to the data to be retrieved, the identification of the first node 300, and the type of the data to be retrieved, and can perform the encryption feature set corresponding to the retrieved data and the identification of the first node 300 verification. Specifically, the smart contract can first verify the integrity of the data.
  • the data can be determined to be incomplete; further, The smart contract can determine whether there is illegal data in the encryption feature set corresponding to the data to be retrieved and the identification of the first node 300. If so, the illegal data can be filtered, and the filtered data can be submitted to the retrieval node 200.
  • Step 302 Obtain at least one piece of index data in the preset index library, and obtain target index data matching the feature value of the data to be retrieved from the at least one piece of index data according to the feature value of the data to be retrieved.
  • the retrieval node 200 can obtain one or more pieces of index data (such as 1000 items) stored in the preset index library, and then can obtain the index data according to the data to be retrieved.
  • the type and the type of the 1000 pieces of index data one or more pieces of index data (for example, 400 pieces) that match the type of the data to be retrieved are selected from the 1000 pieces of index data.
  • the retrieval node 200 can retrieve the 400 pieces of index data without retrieving 1,000 pieces of index data, thereby greatly reducing workload and improving retrieval efficiency.
  • the index data matching the brain image in Table 1 may include an index
  • the numbers are the index data of IM-1, IM-3 and IM-4.
  • the process of retrieving one or more pieces of index data can be made more flexible and efficient.
  • one or more pieces of index data Type at least one piece of index data matching the type of data to be retrieved can be obtained, so that retrieval is performed based on at least one piece of index data that matches the type of data to be retrieved, which can reduce the amount of data to be retrieved and improve retrieval efficiency.
  • the retrieval node 200 can obtain the encryption feature sets corresponding to the three pieces of index data whose index numbers are IM-1, IM-3, and IM-4 respectively, and according to the encryption feature set corresponding to each index data and the corresponding data to be retrieved Encryption feature set to determine the degree of similarity between each index data and the data to be retrieved.
  • the similarity calculation can be based on a machine learning algorithm, or the similarity between the index data and the data to be retrieved can be calculated based on the Euler distance algorithm. The details are not limited.
  • the index data with the index number IM-1 and the first corresponding to the data to be retrieved can be obtained respectively.
  • the index data with the index number IM-1 and the data to be retrieved have different characteristic dimensions, it can be determined that the index data with the index number IM-1 is similar to the data to be retrieved as 0; if the index number is the index of IM-1 If the data has the same feature dimension as the data to be retrieved, the sum of the square difference between the second encrypted feature value corresponding to the index data with the index number IM-1 and the second encrypted feature value corresponding to the data to be retrieved can be calculated, square The larger the sum of the differences, the smaller the similarity between the index data with the index number IM-1 and the data to be retrieved, and the smaller the sum of the squared differences, the smaller the index data with the index number IM-1 and the data to be retrieved. The greater the similarity of the data.
  • the retrieval node 200 can calculate the degree of similarity between the three index data whose index numbers are IM-1, IM-3, and IM-4 and the data to be retrieved.
  • the retrieval node 200 may select one or more target index data whose similarity to the data to be retrieved is greater than the first preset threshold from the three pieces of index data; for example, the index data with the index number IM-1
  • the degree of similarity with the data to be retrieved is 50
  • the degree of similarity between the index data of IM-3 and the data to be retrieved is 90
  • the degree of similarity between the index data of IM-4 and the data to be retrieved is 80.
  • the target index data may include index data with an index number of IM-3.
  • the retrieval node 200 can sort the three index data in descending order of similarity, and then can select the top T index data as the target index data; for example, if T is 2 ,
  • the target index data may include index data with an index number of IM-3 and index data with an index number of IM-4.
  • the characteristic value of the data greatly reduces the amount of data, so that data sharing and data retrieval
  • the amount of data required is small, which improves the efficiency of data sharing and data retrieval; and the similarity between the feature value of at least one piece of source data and the feature value of the data to be retrieved can be used to characterize the degree of similarity between at least one piece of source data and the data to be retrieved , which can improve the accuracy of retrieval.
  • Step 303 Send the target index data to the first node.
  • the retrieval node 200 can obtain the address corresponding to the index data with an index number of IM-3, and then can transfer the index data through the smart contract
  • the address is sent to the first node 300; accordingly, after receiving the address, the first node 300 can access the corresponding link through the address to obtain the source data.
  • the smart contract before sending the address to the first node 300, can also verify the index data with the index number IM-3. For example, the smart contract can be based on the retrieval result provided by the retrieval node 200 (ie, the index The index data numbered IM-3) and the data to be retrieved are calculated for the second similarity. If the similarity obtained by the second similarity calculation is greater than the first preset threshold, the index data with the index number IM-3 can be sent Give the first node 300. If the similarity calculated by the secondary similarity is less than the first preset threshold, it means that the retrieval node 200 forges the retrieval result. In this way, the smart contract can generate alarm information and send the alarm information to the supervisory node 400 so that the supervisory node 400 tests the environment of the blockchain system.
  • the behavior of the retrieval node forging the retrieval result can be avoided, and the reliability and security of data retrieval in the blockchain system can be improved.
  • the retrieval node 200 can obtain the address and number corresponding to the index data with an index number of IM-3 (in the hospital node 101 ⁇ The number in the hospital node 103), the encrypted feature set corresponding to the index data with the index number IM-3, and then the above information can be sent to the first node 300 through the smart contract.
  • the first node 300 receives the above information, if it still cannot determine how to treat the patient, it can determine the index data with the index number IM-3 according to the number corresponding to the index data with the index number IM-3.
  • the patient corresponding to the index data is treated in the hospital node 102, so the first node 300 can communicate with the hospital node 102 to communicate the treatment plan.
  • the first node 300 may execute the retrieval process through the retrieval node 200. In another embodiment, the first node 300 may also execute the retrieval process through the first node 300.
  • the first node 300 may be Refers to the client device. Specifically, the user can obtain a retrieval interface by entering a preset link on the World Wide Web (web) browser of the first node 300, and can set retrieval conditions on the retrieval interface. For example, if the data to be detected is an image, the retrieval conditions may include the type of the image, the pixel value of the image, the amount of data of the image, and so on.
  • the first node 300 can send a search request to the search node 200 according to the search condition, and can pass the address of the optional index data after receiving the address of the optional index data that meets the search condition sent by the search node 200.
  • the selected index data is downloaded to the preset storage space of the first node 300.
  • the first node 300 may prompt the user to enter the encryption feature set corresponding to the data to be retrieved on the retrieval interface, and after receiving the encryption feature set corresponding to the data to be retrieved input by the user, based on the encryption feature set corresponding to the data to be retrieved
  • the set performs similarity detection on the optional index data stored in the preset storage space, and then selects the target retrieval data whose similarity with the data to be retrieved is greater than the first preset threshold from the optional index data, and provides the target retrieval data to user.
  • the scope of data retrieval can be reduced, thereby improving the efficiency of data retrieval.
  • a retrieval request sent by the first node in the blockchain system is received, the retrieval request includes the characteristic value of the data to be retrieved; further, at least one piece of index data in the preset index library is acquired, And according to the feature value of the data to be retrieved, obtain target index data matching the feature value of the data to be retrieved from the at least one piece of index data, and then send the target index data to the first node, So that the first node obtains the source data corresponding to the target index data according to the target index data.
  • the present invention by setting a preset index library in the blockchain system, after receiving a search request, multiple pieces of index data in the preset index library can be used to perform a search process, so that Multiple index data can be shared by nodes in the blockchain system, that is, the process of data sharing and data retrieval in the blockchain system is realized; and, by using the characteristic value of the data to be retrieved, the retrieval can be guaranteed
  • the target index data and the data to be retrieved have similar characteristics, which can improve the accuracy of data retrieval.
  • an embodiment of the present invention also provides a data processing device based on a blockchain system.
  • the specific content of the device can be implemented with reference to the foregoing method.
  • Figure 4 is a schematic structural diagram of a data processing device based on a blockchain system provided by an embodiment of the present invention, including:
  • the transceiver module 401 is configured to receive a retrieval request sent by a first node in the blockchain system, where the retrieval request includes the characteristic value of the data to be retrieved;
  • the obtaining module 402 is configured to obtain at least one piece of index data in the preset index library, and obtain a target matching the feature value of the data to be retrieved from the at least one piece of index data according to the feature value of the data to be retrieved Index data
  • the transceiver module 401 is further configured to send the target index data to the first node, so that the first node obtains the source data corresponding to the target index data according to the target index data.
  • the transceiver module 401 before the transceiver module 401 receives the retrieval request sent by the first node in the blockchain system, it is also used to:
  • the authentication information includes the identity of the first node, the organization to which the first node belongs, and the contact information of the first node.
  • the preset index library is obtained in the following manner:
  • Each piece of shared data includes the characteristic value of the source data corresponding to each piece of shared data, the type of the source data, and the address of the source data, and the address of the source data is used to obtain the source data;
  • the type of and the address of the source data generate one or more pieces of index data corresponding to the one or more pieces of shared data, and then construct the preset index library according to the one or more pieces of index data.
  • the obtaining module 402 is specifically configured to:
  • the at least one piece of index data matching the type of the data to be retrieved is obtained from the one or more pieces of index data.
  • the obtaining module 402 is specifically configured to:
  • the target index data whose degree of similarity is greater than a first preset threshold is selected from the at least one piece of index data.
  • the characteristic value of the data to be retrieved is a characteristic value encrypted using a secure multi-party calculation method.
  • a retrieval request sent by the first node in the blockchain system is received, and the retrieval request includes the characteristic value of the data to be retrieved; further, a preset index library is obtained According to the feature value of the data to be retrieved, the target index data matching the feature value of the data to be retrieved is obtained from the at least one piece of index data, and then the target index data is sent To the first node so that the first node obtains the source data corresponding to the target index data according to the target index data.
  • the present invention by setting a preset index library in the blockchain system, after receiving a search request, multiple pieces of index data in the preset index library can be used to perform a search process, so that Multiple index data can be shared by nodes in the blockchain system, that is, the process of data sharing and data retrieval in the blockchain system is realized; and, by using the characteristic value of the data to be retrieved, the retrieval can be guaranteed
  • the target index data and the data to be retrieved have similar characteristics, which can improve the accuracy of data retrieval.
  • an embodiment of the present invention provides a computer-readable storage medium, including instructions, which when run on a computer, cause the computer to execute the blockchain-based system as described in any of FIG. 2 or FIG. 3 above. Data processing method.
  • a computer program product provided by an embodiment of the present invention, when it runs on a computer, enables the computer to execute the data processing method based on the blockchain system as described in any of FIG. 2 or FIG. 3 above.
  • an embodiment of the present invention provides a terminal device. As shown in FIG. 5, it includes at least one processor 1101 and a memory 1102 connected to the at least one processor.
  • the embodiment of the present invention does not limit the processor.
  • the specific connection medium between 1101 and the memory 1102, the connection between the processor 1101 and the memory 1102 in FIG. 5 is taken as an example.
  • the bus can be divided into address bus, data bus, control bus, etc.
  • the memory 1102 stores instructions that can be executed by at least one processor 1101. By executing the instructions stored in the memory 1102, the at least one processor 1101 can execute all the aforementioned data processing methods based on the blockchain system. Steps included.
  • the processor 1101 is the control center of the terminal device, which can use various interfaces and lines to connect various parts of the terminal device, and realize data by running or executing instructions stored in the memory 1102 and calling data stored in the memory 1102. deal with.
  • the processor 1101 may include one or more processing units, and the processor 1101 may integrate an application processor and a modem processor.
  • the application processor mainly processes an operating system, a user interface, and an application program.
  • the adjustment processor mainly handles issuing instructions. It is understandable that the foregoing modem processor may not be integrated into the processor 1101.
  • the processor 1101 and the memory 1102 may be implemented on the same chip, and in some embodiments, they may also be implemented on separate chips.
  • the processor 1101 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic devices, discrete gates or transistors Logic devices and discrete hardware components can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention.
  • the general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiment of data processing based on the blockchain system can be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the memory 1102 can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules.
  • the memory 1102 may include at least one type of storage medium, for example, it may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic memory, disk , CD, etc.
  • the memory 1102 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 1102 in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function, for storing program instructions and/or data.
  • the embodiment of the present invention provides a back-end device, as shown in FIG. 6, including at least one processor 1201 and a memory 1202 connected to the at least one processor.
  • the embodiment of the present invention does not limit the processing
  • the specific connection medium between the processor 1201 and the memory 1202 the connection between the processor 1201 and the memory 1202 in FIG. 6 is taken as an example.
  • the bus can be divided into address bus, data bus, control bus, etc.
  • the memory 1202 stores instructions that can be executed by at least one processor 1201. By executing the instructions stored in the memory 1202, the at least one processor 1201 can execute all the aforementioned data processing methods based on the blockchain system. Steps included.
  • the processor 1201 is the control center of the terminal device, which can use various interfaces and lines to connect to various parts of the back-end device, by running or executing instructions stored in the memory 1202 and calling data stored in the memory 1202 to achieve data processing.
  • the processor 1201 may include one or more processing units, and the processor 1201 may integrate an application processor and a modem processor, where the application processor mainly processes operating systems, application programs, etc., and the modem processor Mainly analyze the received instructions and analyze the received results. It can be understood that the foregoing modem processor may not be integrated into the processor 1201.
  • the processor 1201 and the memory 1202 may be implemented on the same chip, and in some embodiments, they may also be implemented on separate chips.
  • the processor 1201 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic devices, discrete gates or transistors Logic devices and discrete hardware components can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention.
  • the general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiment of data processing based on the blockchain system can be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the memory 1202 as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules.
  • the memory 1202 may include at least one type of storage medium, for example, may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic memory, disk , CD, etc.
  • the memory 1202 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 1202 in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function for storing program instructions and/or data.
  • the embodiments of the present invention may be provided as methods or computer program products. Therefore, the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • a computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于区块链系统的数据处理方法、系统及装置,涉及金融科技(Fintech)的区块链技术领域,用以提高数据检索的准确性。其中方法包括:接收区块链系统中的第一节点发送的检索请求后,获取至少一条索引数据,从至少一条索引数据中获取与待检索数据的特征值匹配的目标索引数据,并将目标索引数据发送给第一节点。通过使用预设索引库中的多条索引数据执行检索过程,可以使得预设索引库中的多条索引数据被区块链系统中的节点所共享,从而能够实现在区块链系统中的数据共享和数据检索,且,通过使用待检索数据的特征值进行检索,有助于保证检索得到的目标索引数据与待检索数据具有相似的特征,从而可以提高数据检索的准确性。

Description

一种基于区块链系统的数据处理方法、系统及装置
相关申请的交叉引用
本申请要求在2019年06月20日提交中国专利局、申请号为201910535141.6、申请名称为“一种基于区块链系统的数据处理方法、系统及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及金融科技(Fintech)的区块链技术领域,尤其涉及一种基于区块链系统的数据处理方法、系统及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。金融科技领域每天都会产生大量的交易,比如贷款部门与客户的贷款交易、保险部门与客户之间的营销交易、管理部门的清算交易等。一般来说,为了保证交易的准确性和实时性,金融科技领域通常需要实现交易数据的共享。以贷款部门与客户的贷款交易为例,若在金融科技领域中实现了交易数据的共享,则贷款部门可以在接收到客户的贷款请求后,获取其它部门与该客户执行历史交易的过程中生成的历史征信数据,进而可以根据该客户的历史征信数据确定是否可以为该客户贷款。如此,通过在金融科技领域中实现数据共享和数据检索,可以保证金融科技领域的稳健发展。
在一种现有的实现方式中,金融科技领域可以通过云平台实现交易数据的共享和检索。仍以贷款部门与客户的贷款交易为例,各部门可以将该用户的历史征信数据通过加密的方式发送给云平台,如此,云平台中可以存储该用户的历史征信数据;相应地,若云平台接收到贷款部门发送的检索请求,则可以将该用户的历史征信数据通过加密的方式发送给贷款部门,从而贷款部门可以根据该用户的历史征信数据确定是否向该用户贷款。然而,采用该种方式,若要实现金融科技领域的数据共享和数据检索,则至少需要第三方平台(比如云平台)作为媒介,第三方平台本身存在数据泄露的风险,无法保证共享数据的安全性,从而使得该种方法无法满足金融科技领域的要求。
在此基础上,区块链系统作为一种点对点去中心化的系统,能够解决第三方平台不可信的问题,且,区块链系统中的各个节点可以共同维护账本数据,从而能够避免账本数据被其它节点篡改。因此,若在金融科技领域中引入区块链系统实现数据共享和数据检索,则有助于保证共享数据的安全,满足金融科技领域的要求。
综上,目前亟需一种基于区块链系统的数据处理方法,用以在区块链系统中实现数据共享和数据检索。
发明内容
本发明提供一种基于区块链系统的数据处理方法,用以在区块链系统中实现数据共享和数据检索。
第一方面,本发明提供一种基于区块链系统的数据处理方法,包括:
接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待检索数据的特征值;进一步地,获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据,进而将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。
在上述设计中,通过在区块链系统中设置预设索引库,可以在接收到检索请求后,使用预设索引库中的多条索引数据执行检索过程,从而使得预设索引库中的多条索引数据能够被区块链系统中的节点所共享,即实现了在区块链系统中的数据共享和数据检索过程。且,通过使用待检索数据的特征值进行检索,可以保证检索得到的目标索引数据与待检索数据具有相似的特征,从而可以提高数据检索的准确性。
在一种可能的设计中,所述接收区块链系统中的第一节点发送的检索请求之前,还包括:接收所述第一节点发送的认证信息,并确定所述第一节点的认证信息合法;其中,所述认证信息包括所述第一节点的身份、所述第一节点所属的机构和所述第一节点的联系方式。
在上述设计中,在对第一节点发送的检索请求进行检索之前,通过确定第一节点的认证信息是否合法,可以在确定第一节点合法的情况下允许第一节点检索预设索引库,在第一节点不合法的情况下不允许第一节点检索预设索引库,从而可以保证预设索引库中多条索引数据的安全性,提高在区块链系统中进行数据共享和数据检索的安全性。
在一种可能的设计中,所述预设索引库是通过如下方式得到的:接收所述区块链系统中的至少一个第二节点发送的一条或多条共享数据,并将所述一条或多条共享数据存储在预设区块中;所述一条或多条共享数据中的每条共享数据包括所述每条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,所述源数据的地址用于获取所述源数据;进一步地,设置所述一条或多条共享数据分别对应的索引值,并根据所述一条或多条共享数据对应的索引值、所述一条或多条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,生成与所述一条或多条共享数据对应的一条或多条索引数据,进而根据所述一条或多条索引数据构建所述预设索引库。
在上述设计中,通过设置预设区块来存储至少一个第二节点发送的共享数据,使得区块链系统通过分析预设区块的状态即可确定是否有新的共享数据上传至区块链系统中,从而能够降低数据共享过程的复杂性,有助于提高对共享数据管理的灵活性。且,上述设计基于交易处理算法实现区块链系统中的数据共享过程,可以降低开发的复杂性和成本。
在一种可能的设计中,所述获取预设索引库中的至少一条索引数据,包括:根据所述待检索数据的类型,从所述一条或多条索引数据中获取与所述待检索数据的类型匹配的所述至少一条索引数据。
在上述设计中,通过在预设索引库中存储一条或多条索引数据的类型,可以使得检索一条或多条索引数据的过程更为灵活和高效,比如,根据一条或多条索引数据的类型,可以获取与待检索数据的类型匹配的至少一条索引数据,从而基于与待检索数据的类型匹配的至少一条索引数据执行检索,可以降低需要检索的数据量,提高检索的效率。
在一种可能的设计中,所述根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据,包括:获取所述至少一条索引数 据对应的至少一条源数据的特征值,并根据所述至少一条源数据的特征值和所述待检索数据的特征值,确定所述至少一条索引数据与所述待检索数据的相似程度;进一步地,根据所述至少一条索引数据与所述待检测数据的相似程度,从所述至少一条索引数据中选取与所述待检索数据的相似程度大于第一预设阈值的所述目标索引数据。
在上述设计中,通过使用数据的特征值执行数据共享和数据检索过程,可以无需获取源数据,数据的特征值相比于源数据来说数据量大大减少,从而使得数据共享和数据检索所需的数据量较少,提高数据共享和数据检索的效率。且,至少一条源数据的特征值和待检索数据的特征值的相似程度可以用于表征至少一条源数据与待检索数据的相似程度,因此该种方式还可以提高检索的准确性。
在一种可能的设计中,所述待检索数据的特征值为使用安全多方计算方式进行加密的特征值。
在上述设计中,通过对待检索数据的特征值进行加密,可以保证数据共享和检索过程的安全性。且,基于安全多方计算加密的特征值与加密前的特征值的对应关系,使得基于加密后的特征值确定的源相似程度可以表征加密前的数据与待检索数据的相似程度,从而上述设计中的数据处理方法可以提高处理的准确性。
第二方面,本发明提供一种区块链系统,所述区块链系统包括检索节点、至少一个数据提供节点和至少一个数据使用节点,所述至少一个数据使用节点包括第一节点;
所述至少一个数据使用节点,用于将加密后的一条或多条共享数据存储在预设区块中;
所述检索节点,用于获取所述预设区块中存储的所述一条或多条共享数据,并根据所述一条或多条共享数据生成与所述一条或多条共享数据对应的一条或多条索引数据;
所述第一节点,用于向所述检索节点发送待检索数据的特征值;
所述检索节点,还用于根据所述待检索数据的特征值对所述一条或多条索引数据进行检索,得到与所述待检索数据匹配的目标索引数据,并将所述目标索引数据发送给所述第一节点。
在上述设计中,通过在区块链系统中设置数据提供节点、数据使用节点和检索节点,可以通过数据提供节点将共享数据上传至区块链系统中,进而通过检索节点为共享数据构建索引,得到索引数据;如此,若数据使用者需要对待检索数据进行检索,则可以通过检索节点检索索引数据,从而得到数据使用者需要的目标索引数据;也就是说,上述设计中的区块链系统可以实现数据共享和数据检索过程,通过在区块链中执行数据共享和数据检索过程,可以保证共享数据的安全性。
在一种可能的设计中,所述区块链系统中还包括监管节点;所述监管节点,用于对所述至少一个数据提供节点和所述至少一个数据使用节点进行认证,若确定所述至少一个数据提供节点合法,则允许所述至少一个数据提供节点将加密后的一条或多条共享数据存储在预设区块中;以及,若确定所述至少一个数据使用节点合法,则允许所述至少一个数据使用节点向所述检索节点发送待检索数据的特征值。
在上述设计中,通过在区块链系统中设置监管节点,可以使用监管节点管理数据提供者节点和数据使用者节点,从而避免不合法的数据提供者节点和/或数据使用者节点加入区块链系统,保证区块链系统的安全性,提高区块链系统中共享数据的安全性。
第三方面,本发明提供一种基于区块链系统的数据处理装置,所述装置包括:
收发模块,用于接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待 检索数据的特征值;
获取模块,用于获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据;
所述收发模块,还用于将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。
在一种可能的设计中,所述收发模块接收区块链系统中的第一节点发送的检索请求之前,还用于:接收所述第一节点发送的认证信息,并确定所述第一节点的认证信息合法;其中,所述认证信息包括所述第一节点的身份、所述第一节点所属的机构和所述第一节点的联系方式。
在一种可能的设计中,所述预设索引库是通过如下方式得到的:接收所述区块链系统中的至少一个第二节点发送的一条或多条共享数据,并将所述一条或多条共享数据存储在预设区块中;所述一条或多条共享数据中的每条共享数据包括所述每条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,所述源数据的地址用于获取所述源数据;进一步地,设置所述一条或多条共享数据分别对应的索引值,并根据所述一条或多条共享数据对应的索引值、所述一条或多条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,生成与所述一条或多条共享数据一一对应的一条或多条索引数据,进而根据所述一条或多条索引数据构建所述预设索引库。
在一种可能的设计中,所述获取模块具体用于:根据所述待检索数据的类型,从所述一条或多条索引数据中获取与所述待检索数据的类型匹配的所述至少一条索引数据。
在一种可能的设计中,所述获取模块具体用于:获取所述至少一条索引数据对应的至少一条源数据的特征值,并根据所述至少一条源数据的特征值和所述待检索数据的特征值,确定所述至少一条索引数据与所述待检索数据的相似程度;进一步地,根据所述至少一条索引数据与所述待检测数据的相似程度,从所述至少一条索引数据中选取相似程度大于第一预设阈值的所述目标索引数据。
在一种可能的设计中,所述待检索数据的特征值为使用安全多方计算方式进行加密的特征值。
第四方面,本发明提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面或第二方面任意所述的方法。
第五方面,本发明提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面或第二方面任意所述的方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链系统的系统架构示意图;
图2为本发明实施例提供的一种基于区块链系统的数据共享方法对应的流程示意图;
图3为本发明实施例中提供的又一种基于区块链系统的数据检索方法对应的流程示意 图;
图4为本发明实施例中提供的一种基于区块链系统的数据处理装置的结构示意图;
图5为本发明实施例中提供的一种终端设备的结构示意图;
图6为本发明实施例中提供的一种后端设备的结构示意图。
具体实施方式
为了使本发明的目标、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
金融科技(Fintech)是指将信息技术融入金融领域后,为金融领域带来的一种新的创新科技,通过使用先进的信息技术辅助实现金融作业、交易执行以及金融系统改进,可以提升金融系统的处理效率、业务规模,并可以降低成本和金融风险。一般来说,金融科技领域通常会涉及到大量的交易,比如信贷业务系统的贷款交易、销售业务系统的售卡交易、支付业务系统的转账交易等,如何采用科技的手段从大量的交易中挖掘出金融领域所需要的特征,一直是金融科技领域追求的目标。
以在金融科技领域中执行保险业务为例,一般来说,保险业务部门若检测到用户申请某一保险业务,则通常需要对该用户的身体状态进行排查,若确定该用户当前的身体状况满足该用户所申请的保险业务的要求,则可以向该用户提供所申请的保险。若确定该用户当前的身体状况不满足该用户所申请的保险业务的要求,则可以不同意该用户的申请,从而避免保险业务的损失。以用户申请重疾险为例,在一种可能的实现方式中,保险业务部门可以从多家医院获取用户的历史就诊记录,比如可以通过走访的方式去用户出生地的医院和/或常驻地的医院查询用户的门诊病历、住院病历等,进而通过分析用户的历史就诊记录确定用户是否患有重大疾病。在确定用户当前已患重大疾病的情况下,可以不向用户提供重疾险,在确定用户当前未患重大疾病的情况下,可以向用户提供重疾险。
在上述实现方式中,若用户在多家医院均有就诊记录,则保险业务部门可能需要花费很长的时间和精力与多家医院进行沟通协商,方可获取用户较全的就诊记录。由此可知,在金融科技领域中,实现数据共享的过程极为依赖人力,数据共享的效率也较差。
基于此,本发明实施例提供一种基于区块链系统的数据处理方法,用以将区块链系统与数据处理过程结合应用在金融科技领域中,提高在金融科技领域中进行数据共享和数据检索的效率。
图1为本发明实施例提供的一种区块链系统的系统架构示意图,如图1所示,区块链系统中可以包括至少一个数据提供节点,例如节点101、节点102和节点103,区块链系统中还可以包括检索节点200和至少一个数据使用节点,例如节点300。区块链系统中的任意两个节点可以相互通信,共同维护该区块链系统中的账本数据,任意两个节点之间可以通过有线方式实现通信,或者也可以通过无线方式实现通信,具体不作限定。
具体实施中,至少一个数据提供者节点可以将各自的共享数据分别存储在区块链系统的预设区块上,相应地,检索节点200可以从预设区块中获取一条或多条共享数据,并可以生成一条或多条共享数据对应的一条或多条索引数据。如此,通过至少一个数据提供者节点和检索节点200能够实现在区块链系统中的数据共享。进一步地,若至少一个数据使 用节点(例如节点300)需要在区块链系统中检索数据,则节点300可以向检索节点200发送检索请求,而检索节点200接收到检索请求后,可以根据检索请求检索一条或多条索引数据得到目标索引数据,进而可以将目标索引数据发送给节点300。如此,通过检索节点200和至少一个数据使用者节点,能够实现在区块链系统中的数据检索。
本发明实施例中,通过在区块链系统中设置数据提供节点、数据使用节点和检索节点,可以通过数据提供节点将共享数据上传至区块链系统中,进而通过检索节点为共享数据构建索引,得到索引数据。如此,若数据使用者需要对待检索数据进行检索,则可以通过检索节点检索索引数据,从而得到数据使用者需要的目标索引数据。也就是说,上述设计中的区块链系统可以实现数据共享和数据检索过程,通过在区块链中执行数据共享和数据检索过程,可以保证共享数据的安全性。
示例性地,在本发明实施例中,区块链系统可选为FISCO BCOS(即金融版区块链底层平台)。应当理解的是,该区块链系统也可以为其他功能的系统,此处不做赘述。
如图1所示,在一种可能的实现方式中,区块链系统中还可以包括监管节点400,监管节点400可以分别与至少一个数据提供者节点和至少一个数据使用者节点连接,比如可以通过无线方式进行连接,或者也可以通过有线方式进行连接,具体不作限定。具体实施中,监管节点400可以对至少一个数据提供节点和至少一个数据使用节点进行认证,并根据认证结果确定是否允许至少一个数据提供节点和至少一个数据使用节点在区块链系统中执行数据处理过程。本发明实施例中,通过在区块链系统中设置监管节点,可以使用监管节点管理数据提供者节点和数据使用者节点,从而避免不合法的数据提供者节点和/或数据使用者节点加入区块链系统,保证区块链系统的安全性,提高区块链系统中共享数据的安全性。
以节点101为例,在一个示例中,节点101可以在发送共享数据之前向监管节点400发送认证信息,如此,监管节点400若确定节点101的认证信息合法,则可以允许节点101将共享数据存储在预设区块中,若确定节点101的认证信息不合法,则不允许节点101将共享数据存储在预设区块中。在另一个示例中,节点101可以在加入区块链系统之前向监管节点400发送认证信息,如此,监管节点400若确定节点101的认证信息合法,则可以允许节点101加入区块链系统,若确定节点101的认证信息不合法,则不允许节点101加入区块链系统。
相应地,在一个示例中,节点300可以在发送检索请求之前向监管节点400发送认证信息,如此,监管节点400若确定节点300的认证信息合法,则可以将允许节点300向检索节点200发送检索请求,若确定节点300的认证信息不合法,则不允许节点300向检索节点200发送检索请求。在另一个示例中,节点300可以在加入区块链系统之前向监管节点400发送认证信息,如此,监管节点400若确定节点300的认证信息合法,则可以允许节点300加入区块链系统,若确定节点300的认证信息不合法,则不允许节点300加入区块链系统。
本发明实施例中,若在金融科技领域中执行保险业务,则至少一个数据提供节点可以为至少一家医院对应的节点,至少一个数据使用节点可以为保险业务部门对应的节点,通过将至少一家医院和保险业务部门上链,可以使得至少一家医院和保险业务部门实现数据共享。为了便于描述,下面以医院节点101、医院节点102、医院节点103和保险节点300为例描述区块链系统中数据共享的具体实现过程,可以理解地,医院节点101即为节点101, 医院节点102即为节点102,医院节点103即为节点103,保险节点300即为节点300。
需要说明的是,本发明实施例提供的数据处理方法可以包括基于区块链系统的数据共享阶段和基于区块链系统的数据检索阶段,下面描述基于区块链系统的数据共享阶段的具体实现过程。
基于图1所示意的系统架构,图2为本发明实施例提供的一种基于区块链系统的数据共享方法对应的流程示意图,该方法包括:
步骤201,通过至少一个数据提供者节点将一条或多条共享数据存储到区块链系统的预设区块中。
以医院节点101为例,在一个示例中,医院节点101在将共享数据发送给区块链系统之前,可以通过监管节点400进行身份注册。具体地说,医院节点101可以将认证信息发送给监管节点400,认证信息中可以包括医院节点101的标识、医院节点101所在的地址、医院节点101的联系方式等。其中,医院节点101的标识可以是指医院节点101的名称,也可以是指医院节点101的法人信息,比如法人的身份证号码的哈希值,具体不作限定。相应地,监管节点400接收到医院节点101的认证信息后,可以检测认证信息的合法性,比如可以根据医院节点101的标识确定医院节点101是否存在、医院节点101所在地的地址是否匹配、医院节点101的联系方式是否正确等。若确定医院节点101的认证信息合法,则监管节点400可以允许医院节点101加入区块链系统,若确定医院节点101的认证信息不合法,则监管节点400可以向医院节点101发送认证失败的信息。
在上述示例中,通过监管节点对至少一个数据提供者节点进行认证,可以保证区块链系统处于安全可靠的环境,从而提高在区块链系统中进行数据共享的安全性。
若医院节点101的身份认证合法,则医院节点101可以将自己的门诊记录存储在区块链系统的预设区块中。具体地说,医院节点101可以根据自己的门诊记录生成交易数据,进而可以将交易数据发送到区块链系统中,例如,可以直接将交易数据发送给区块链系统中的其它节点,也可以将交易数据发送至区块链系统的公共网络中,以使其它节点从公共网络中获取交易数据。进一步地,若该交易数据通过了区块链系统中的其它节点的共识,则该交易数据可以被存储在预设区块中。其中,门诊记录可以为文本数据、图像数据中的任意一项或任意组合,比如可以为医生对用户的诊断记录、住院记录、饮食记录等,或者可以为用户拍摄的电子计算机断层扫描(Computed Tomography,CT)图像、超声波图像等,具体不作限定。
在一种可能的实现方式中,医院节点101可以对自己的门诊记录进行加密,从而将加密后的门诊记录作为交易数据发送给区块链系统。举例来说,若门诊记录为CT图像,则医院节点101可以从该CT图像中提取得到该CT图像的至少一项特征,进而可以使用安全多方计算的方式对至少一项特征进行加密,得到第一加密特征值和第二加密特征值。其中,第一加密特征值可以为加密特征的和值,第二加密特征值可以为加密特征的平方和值。如此,医院节点101可以根据第一加密特征值和第二加密特征值生成交易数据,进而将交易数据发送给区块链系统。
本发明实施例中,对图像进行加密的过程可以包括图像特征提取阶段和图像特征加密阶段,下面分别从这两个阶段对加密过程进行描述。
图像特征提取阶段
本发明实施例中,医院节点101可以获取预设提取算法,进而使用预设提取算法提取 图像的特征。其中,预设提取算法可以由本领域技术人员根据经验设置,也可以根据用户的需要进行设置,例如可以MEPG-7算法,具体不作限定。
以MEPG-7算法为例,具体实施中,若医院节点101确定要向区块链系统发送10张图像,则医院节点101可以对这10张图像进行解析得到10张图像对应的边缘直方图,进而可以从10张图像的边缘直方图中获取10张图像的特征集合。比如,若每张图像包括5项特征,则10张图像的特征集合中可以包括10个子向量,每个子向量中包括该子向量对应的图像的5项特征。
图像特征加密阶段
本发明实施例中,医院节点101在得到10张图像的特征集合后,可以获取预设加密算法,进而使用预设加密算法对每张图像的特征进行加密,得到10个加密特征值。其中,预设加密算法可以由本领域技术人员根据经验设置,也可以根据用户的需要进行设置,例如可以为安全多方计算算法,具体不作限定。
以安全多方计算算法为例,具体实施中,医院节点101可以预先获取质数a和质数b,并可以将质数b存储在医院节点101的内部,将质数a发送给区块链系统中的其它节点,比如医院节点102、医院节点103、检索节点200、保险节点300等。其中,质数a和质数b可以满足如下公式:
(a-1)%b=0
在确定质数a和质数b后,医院节点101可以随机选取数字h,并可以使用数字h、质数a和质数b按照如下公式计算得到第一参考值h1和第二参考值h2:
h 1=h (a-1)/bmod a
h 2=h 1 amod a 2
在确定第一参考值h 1和第二参考值h 2后,医院节点101可以随机选取数字c i,并可以使用数字c i、第一参考值h 1和第二参考值h 2按照如下公式计算得到10张图像中每一张图像的每一项(第j项)特征对应的特征指示值R j
Figure PCTCN2020091934-appb-000001
其中,数字c i-1为第j-1项特征对应的数字。
在确定每一张图像的每一项(第j项)特征对应的特征指示值R j后,医院节点101可以根据质数a、特征指示值R j和每一项(比如第j项)特征按照如下公式得到每一项特征对应的加密特征值emj:
em j=(1+m ja)R jmod a 2
其中,m j为第j项特征。
进一步地,以10张图像中的第1张图像为例,医院节点101可以对第1张图像对应的5项特征分别对应的加密特征值em1~em5进行加和,得到第一加密特征值,并可以对第1张图像对应的5项特征分别对应的加密特征值的平方em21~em25进行加和,得到第二加密特征值。
本发明实施例中,通过对待检索数据的特征值进行加密,可以保证数据共享和检索过程的安全性。且,基于安全多方计算加密的特征值与加密前的特征值具有对应关系,使得 基于加密后的特征值确定的源相似程度可以表征加密前的数据与待检索数据的相似程度,从而使得本发明实施例中的数据共享方法可以提高数据共享的准确性。
为便于描述,本发明实施例将第一加密特征和第二加密特征称为加密特征集。
在一个示例中,在至少一项特征加密完成后,医院节点101可以根据10张图像分别对应的加密特征集生成共享数据。如此,共享数据可以包括10张图像中每张图像对应的加密特征集。
在另一个示例中,医院节点101可以根据10张图像的统一资源定位符(Uniform Resource Locator,URL)地址、10张图像分别对应的加密特征集和10张图像的类型生成共享数据。以第1张图像为例,第1张图像对应的共享数据可以包括第1张图像的URL地址、加密特征集、图像类型和根据URL地址、加密特征集、图像类型得到的索引号。其中,第1张图像的URL地址可以占用4字节空间,该URL地址用于获取第1张图像,第1张图像的类型可以占用16字节空间,图像的类型为脑部图像、肺部图像、胸部图像等,第1张图像的加密特征集可以占用128字节空间,第1张图像的索引号可以占用32字节空间,该索引号用于标识第1张图像在医院节点101中的编号。
具体实施中,医院节点101发送的交易数据可以包括第一子部分、第二子部分和第三子部分。其中,第一子部分可以为交易的输入地址,占用32字节空间,比如医院101的标识。第二子部分可以为交易的输出地址,占用32字节空间,比如预设区块的位置信息。第三子部分可以为共享数据。通过采用这样的交易数据格式,可以减少存储空间的占用情况,并能较好地保存图像的有效信息。
上述过程描述了医院节点101将自己的诊疗记录存储到预设区块的过程,可以理解地,医院节点102和医院节点103也可以采用相同的方法将各自的诊疗记录存储到预设区块,此处不再赘述。如此,区块链系统的预设区块中可以存储有医院节点101~医院节点103的所有诊疗记录,比如50条共享数据。
步骤202,通过检索节点获取一条或多条共享数据,并生成一条或多条共享数据对应的一条或多条索引数据,根据一条或多条索引数据构建预设索引库。
具体实施中,检索节点200可以获取预设区块中存储的医院节点101~医院节点103的50条共享数据,并可以为这50条共享数据分别建立索引,进而可以根据这50条共享数据和50条共享数据对应的索引生成与这50条共享数据对应的50条索引数据,如此,50条索引数据可以构成预设索引库。
表1为本发明实施例提供的一种预设索引库的示意表。
索引号 数据提供者 类型 第一加密特征值 第二加密特征值
IM-1 节点101 脑部 SUM1 SUM12
IM-2 节点101 胸部 SUM2 SUM22
IM-3 节点102 脑部 SUM3 SUM32
IM-4 节点103 脑部 SUM4 SUM42
表1
如表1所示,预设索引库中可以存储有4条共享数据,每条共享数据可以包括该条共享数据的数据提供者的标识、索引号、图像类型、第一加密特征值和第二加密特征值。以 索引号为IM-1的共享数据为例,该条共享数据的提供者可以为节点101,图像类型可以为脑部图像,该条共享数据的第一加密特征值可以为SUM1,该条共享数据的第二加密特征值可以为SUM12。
需要说明的是,表1仅是一种示例性的简单说明,其所列举的共享数据的内容仅是为了便于说明方案,并不构成对方案的限定,在具体实施中,共享数据还可以包括其它信息,比如地址信息、生成时间信息,具体不作限定。
在一种可能的实现方式中,检索节点200可以按照预设周期(比如5min)检测预设区块的状态,若在某一次检测过程中确定预设区块中存储了新的交易数据,则可以获取该交易数据,进而可以根据该交易数据中的共享数据更新预设索引库。举例来说,基于表1所示意的预设索引库,若检索节点200在某一时刻检测到预设区块中存储了1条新的交易数据,则可以获取该条交易数据,并解析得到该条交易数据包括的一条或多条共享数据,若该条交易数据为节点102存储到预设区块的,则更新后的预设索引库可以如表2所示。
索引号 数据提供者 类型 第一加密特征值 第二加密特征值
IM-1 节点101 脑部 SUM1 SUM12
IM-2 节点101 胸部 SUM2 SUM22
IM-3 节点102 脑部 SUM3 SUM32
IM-4 节点103 脑部 SUM4 SUM42
IM-5 节点102 肺部 SUM5 SUM52
IM-6 节点102 脑部 SUM6 SUM62
表2
如表2所示,该条交易数据中可以包括2条共享数据,在解析得到2条共享数据后,检索节点200可以按照预设索引库中已存储的索引数据的索引号顺序设置这2条共享数据的索引号。比如,基于图1所示意的预设索引库,由于预设索引库中最大的索引号为IM-4,因此,可以分别将这2条共享数据的索引号设置为IM-5和IM-6。
上述过程描述了基于区块链系统的数据共享阶段的具体实现过程,下面描述基于区块链系统的数据检索阶段的具体实现过程。
本发明实施例中,通过设置预设区块来存储至少一个第二节点发送的共享数据,使得区块链系统分析预设区块的状态即可确定是否有新的共享数据上传至区块链系统中,从而降低了数据共享过程的复杂性,提高对共享数据管理的灵活性;且,本发明实施例基于交易处理算法实现区块链系统中的数据共享过程,可以降低开发的复杂性、降低成本。
基于图1和图2,图3为本发明实施例提供的一种基于区块链系统的数据检索方法对应的流程示意图,该方法包括:
步骤301,接收至少一个数据提供者节点中的第一节点发送的检索请求。
在一种可能的场景中,第一节点300也可以为医院节点;比如,若某一医院接收了一名病人,该名病人的脑部有肿瘤,而该医院未治疗过该种类型的病人,则该医院可以通过在该区块链系统中提交检索请求检索其它医院节点处理过的与该名病人类似的目标病人。
在一种可能的实现方式中,第一节点300可以通过加入区块链系统执行检索过程。具体地说,第一节点300可以通过监管节点400进行身份注册。具体地说,第一节点300可以将认证信息发送给监管节点400,认证信息中可以包括第一节点300的标识、第一节点 300的机构名称、第一节点300的联系方式等。其中,第一节点300的标识可以是指第一节点300的法人信息,比如法人的身份证号码的哈希值,具体不作限定。相应地,监管节点400接收到第一节点300的认证信息后,可以检测认证信息的合法性,比如可以根据第一节点300的标识确定第一节点300是否存在、第一节点300的机构名称是否正确、第一节点300的联系方式是否正确等。若确定第一节点300的认证信息合法,则可以允许第一节点300加入区块链系统,若确定第一节点300的认证信息不合法,则可以向第一节点300发送认证失败的信息。
在上述示例中,在对第一节点发送的检索请求进行检索之前,通过确定第一节点的认证信息是否合法,可以在确定第一节点合法的情况下允许第一节点检索预设索引库,在第一节点不合法的情况下不允许第一节点检索预设索引库,从而可以保证预设索引库中多条索引数据的安全性,提高在区块链系统中进行数据共享和数据检索的安全性。
本发明实施例中,第一节点300加入区块链系统后,可以预先拍摄该名病人的脑部得到CT图像,该CT图像即可为待检索数据。进一步地,第一节点300可以对待检索数据进行特征提取和特征加密,得到待检索数据对应的加密特征集合。需要说明的是,得到待检索数据的加密特征集合的过程可以参照步骤201进行实现,此处不再赘述。
进一步地,第一节点300可以生成检索指令,并可以将检索指令发送给检索节点200。其中,第一节点300生成检索指令的方式可以有多种,比如,第一节点300可以根据待检索数据对应的加密特征集合、第一节点300的标识和待检索数据的类型生成检索指令,或者,第一节点300可以根据待检索数据对应的加密特征集合、第一节点300的标识、待检索数据的类型和检索时间生成检索指令,具体不作限定。在一个示例中,若检索指令中包括检索时间,则第一节点300可以实时获取当前时刻,若确定当前时刻与检索时间的时差超过预设时长,则可以将检索指令重新发送给检索节点300。
本发明实施例中,检索节点200中可以设置有智能合约,因此,第一节点300发送检索指令后,检索节点200可以调用智能合约获取检索指令;如此,第一节点300发送的检索指令预先被智能合约获取。进一步地,智能合约可以解析检索指令得到待检索数据对应的加密特征集合、第一节点300的标识和待检索数据的类型,并可以对待检索数据对应的加密特征集合和第一节点300的标识进行验证。具体地说,智能合约可以先验证数据的完整性,比如,若确定检索指令中不包含第一节点300的标识,或者检索指令的预设代码不完整,则可以确定数据不完整;进一步地,智能合约可以确定待检索数据对应的加密特征集合和第一节点300的标识中是否存在非法数据,若存在,则可以过滤非法数据,并可以将过滤后的数据提交给检索节点200。
步骤302,获取预设索引库中的至少一条索引数据,并根据待检索数据的特征值,从至少一条索引数据中获取与待检索数据的特征值匹配的目标索引数据。
在一种可能的实现方式中,检索节点200在接收到过滤后的检索指令后,可以获取预设索引库中存储的一条或多条索引数据(比如1000条),进而可以根据待检索数据的类型和1000条索引数据的类型,从1000条索引数据中选取与待检索数据的类型匹配的一条或多条索引数据(比如400条)。如此,检索节点200可以对这400条索引数据进行检索,而无需对1000条索引数据进行检索,从而大大降低工作量,提高检索的效率。举例来说,如表1所示,由于待检索数据为一张脑部CT图像,因此待检索数据的类型可以为脑部图像,如此,表1中与脑部图像匹配的索引数据可以包括索引号分别为IM-1、IM-3和IM-4 的索引数据。
本发明实施例中,通过在预设索引库中存储一条或多条索引数据的类型,可以使得检索一条或多条索引数据的过程更为灵活和高效,比如,根据一条或多条索引数据的类型,可以获取与待检索数据的类型匹配的至少一条索引数据,从而基于与待检索数据的类型匹配的至少一条索引数据执行检索,可以降低需要检索的数据量,提高检索的效率。
进一步地,检索节点200可以获取索引号分别为IM-1、IM-3和IM-4的3条索引数据对应的加密特征集合,并根据每条索引数据对应的加密特征集合和待检索数据对应的加密特征集合,确定每条索引数据与待检索数据的相似程度。其中,确定索引数据与待检索数据的相似程度的方式可以有多种,比如,可以基于机器学习算法进行相似度计算,或者,可以基于欧拉距离算法计算索引数据与待检索数据的相似程度,具体不作限定。以确定索引号为IM-1的索引数据与待检索数据的相似程度为例,在一种可能的实现方式中,可以分别获取索引号为IM-1的索引数据和待检索数据对应的第一加密特征值和第二加密特征值,由于第一加密特征值可以用于表征图像的特征维度,因此可以通过判断索引号为IM-1的索引数据对应的第一加密特征值和待检索数据对应的第一加密特征值的维度是否相同确定索引号为IM-1的索引数据与待检索数据的特征维度是否相同。若索引号为IM-1的索引数据与待检索数据的特征维度不同,则可以确定索引号为IM-1的索引数据与待检索数据的相似程度为0;若索引号为IM-1的索引数据与待检索数据的特征维度相同,则可以计算得到索引号为IM-1的索引数据对应的第二加密特征值和待检索数据对应的第二加密特征值的平方差值的和值,平方差值的和值越大,说明索引号为IM-1的索引数据与待检索数据的相似程度越小,平方差值的和值越小,说明索引号为IM-1的索引数据与待检索数据的相似程度越大。
本发明实施例中,通过上述过程,检索节点200可以计算得到索引号分别为IM-1、IM-3和IM-4的3条索引数据与待检索数据的相似程度。在一个示例中,检索节点200可以从这3条索引数据中选取与待检索数据的相似程度大于第一预设阈值的一条或多条目标索引数据;比如,索引号为IM-1的索引数据与待检索数据的相似程度为50,索引号为IM-3的索引数据与待检索数据的相似程度为90,索引号为IM-4的索引数据与待检索数据的相似程度为80,若第一预设阈值为85,则目标索引数据可以包括索引号为IM-3的索引数据。在另一个示例中,检索节点200可以按照相似程度从大到小的顺序对这3条索引数据进行排序,进而可以选择排名靠前的T个索引数据作为目标索引数据;比如,若T为2,则目标索引数据可以包括索引号为IM-3的索引数据和索引号为IM-4的索引数据。
本发明实施例中,通过使用数据的特征值执行数据共享和数据检索过程,可以无需获取源数据,数据的特征值相比于源数据来说数据量大大减少,从而使得数据共享和数据检索所需的数据量较少,提高数据共享和数据检索的效率;且,至少一条源数据的特征值和待检索数据的特征值的相似程度可以用于表征至少一条源数据与待检索数据的相似程度,从而可以提高检索的准确性。
步骤303,将目标索引数据发送给第一节点。
在一种可能的实现方式中,若目标索引数据为索引号为IM-3的索引数据,则检索节点200可以获取索引号为IM-3的索引数据对应的地址,进而可以将通过智能合约将该地址发送给第一节点300;相应地,第一节点300在接收到该地址后,可以通过该地址访问对应的链接,获取源数据。
在一个示例中,智能合约在将该地址发送给第一节点300之前,还可以对索引号为IM-3的索引数据进行验证,比如,智能合约可以基于检索节点200提供的检索结果(即索引号为IM-3的索引数据)和待检索数据进行二次相似度计算,若二次相似度计算得到的相似度大于第一预设阈值,则可以将索引号为IM-3的索引数据发送给第一节点300。若二次相似度计算得到的相似度小于第一预设阈值,则说明检索节点200伪造检索结果,如此,智能合约可以生成告警信息,并可以将告警信息发送给监管节点400,以使监管节点400对区块链系统的环境进行检测。
本发明实施例中,通过在发送检索结果之前对检索得到的索引数据进行验证,可以避免检索节点伪造检索结果的行为,提高区块链系统中数据检索的可靠性和安全性。
在另一种可能的实现方式中,若目标索引数据为索引号为IM-3的索引数据,则检索节点200可以获取索引号为IM-3的索引数据对应的地址、编号(在医院节点101~医院节点103中的编号)、索引号为IM-3的索引数据对应的加密特征集合,进而可以将通过智能合约将上述信息发送给第一节点300。如此,第一节点300接收到上述信息后,若仍然无法确定如何对病患进行治疗,则可以通过索引号为IM-3的索引数据对应的编号,确定索引号为IM-3的索引数据确定该索引数据对应的病患是在医院节点102中治疗的,从而第一节点300可以与医院节点102进行联系,沟通治疗方案。
上述实施例中,第一节点300可以通过检索节点200执行检索过程,在另一种实施例中,第一节点300也可以通过第一节点300执行检索过程,此处,第一节点300可以是指客户端设备。具体地说,用户可以通过在第一节点300的全球广域网(World Wide Web,web)浏览器上输入预设链接获取检索界面,并可以在检索界面上设置检索条件。比如,若待检测数据为图像,则检索条件可以包括图像的类型、图像的像素取值、图像的数据量等。相应地,第一节点300可以根据检索条件向检索节点200发送检索请求,并可以在接收到检索节点200发送的满足检索条件的可选索引数据的地址后,通过可选索引数据的地址将可选索引数据下载到第一节点300的预设存储空间中。进一步地,第一节点300可以在检索界面上提示用户输入待检索数据对应的加密特征集,并可以在接收到用户输入的待检索数据对应的加密特征集后,基于待检索数据对应的加密特征集对预设存储空间中存储的可选索引数据进行相似性检测,进而从可选索引数据中选择与待检索数据的相似程度大于第一预设阈值的目标检索数据,将目标检索数据提供给用户。
在该实施例中,通过实时地下载符合用户检索条件的可选索引数据到第一节点中,可以缩小数据检索的范围,从而提升数据检索的效率。
本发明的上述实施例中,接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待检索数据的特征值;进一步地,获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据,进而将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。本发明实施例中,通过在区块链系统中设置预设索引库,可以在接收到检索请求后,使用预设索引库中的多条索引数据执行检索过程,从而使得预设索引库中的多条索引数据能够被区块链系统中的节点所共享,即实现了在区块链系统中的数据共享和数据检索过程;且,通过使用待检索数据的特征值进行检索,可以保证检索得到的目标索引数据与待检索数据具有相似的特征,从而可以提高数据检索的准确性。
针对上述方法流程,本发明实施例还提供一种基于区块链系统的数据处理装置,该装置的具体内容可以参照上述方法实施。
图4为本发明实施例提供的一种基于区块链系统的数据处理装置的结构示意图,包括:
收发模块401,用于接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待检索数据的特征值;
获取模块402,用于获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据;
所述收发模块401,还用于将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。
可选地,所述收发模块401接收区块链系统中的第一节点发送的检索请求之前,还用于:
接收所述第一节点发送的认证信息,并确定所述第一节点的认证信息合法;
其中,所述认证信息包括所述第一节点的身份、所述第一节点所属的机构和所述第一节点的联系方式。
可选地,所述预设索引库是通过如下方式得到的:
接收所述区块链系统中的至少一个第二节点发送的一条或多条共享数据,并将所述一条或多条共享数据存储在预设区块中;所述一条或多条共享数据中的每条共享数据包括所述每条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,所述源数据的地址用于获取所述源数据;
设置所述一条或多条共享数据分别对应的索引值,并根据所述一条或多条共享数据对应的索引值、所述一条或多条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,生成与所述一条或多条共享数据一一对应的一条或多条索引数据,进而根据所述一条或多条索引数据构建所述预设索引库。
可选地,所述获取模块402具体用于:
根据所述待检索数据的类型,从所述一条或多条索引数据中获取与所述待检索数据的类型匹配的所述至少一条索引数据。
可选地,所述获取模块402具体用于:
获取所述至少一条索引数据对应的至少一条源数据的特征值,并根据所述至少一条源数据的特征值和所述待检索数据的特征值,确定所述至少一条索引数据与所述待检索数据的相似程度;
根据所述至少一条索引数据与所述待检测数据的相似程度,从所述至少一条索引数据中选取相似程度大于第一预设阈值的所述目标索引数据。
可选地,所述待检索数据的特征值为使用安全多方计算方式进行加密的特征值。
从上述内容可以看出:本发明的上述实施例中,接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待检索数据的特征值;进一步地,获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据,进而将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。本发明实施例中,通过在区块链系统中设置预设索引库,可以在接收到检索请求后,使用预设索引 库中的多条索引数据执行检索过程,从而使得预设索引库中的多条索引数据能够被区块链系统中的节点所共享,即实现了在区块链系统中的数据共享和数据检索过程;且,通过使用待检索数据的特征值进行检索,可以保证检索得到的目标索引数据与待检索数据具有相似的特征,从而可以提高数据检索的准确性。
基于同一发明构思,本发明实施例提供的一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述图2或图3任意所述的基于区块链系统的数据处理方法。
基于同一发明构思,本发明实施例提供的一种计算机程序产品,当其在计算机上运行时,使得计算机执行如上述图2或图3任意所述的基于区块链系统的数据处理方法。
基于相同的技术构思,本发明实施例提供了一种终端设备,如图5所示,包括至少一个处理器1101,以及与至少一个处理器连接的存储器1102,本发明实施例中不限定处理器1101与存储器1102之间的具体连接介质,图5中处理器1101和存储器1102之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器1102存储有可被至少一个处理器1101执行的指令,至少一个处理器1101通过执行存储器1102存储的指令,可以执行前述的基于区块链系统的数据处理方法中所包括的步骤。
其中,处理器1101是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器1102内的指令以及调用存储在存储器1102内的数据,从而实现数据处理。可选的,处理器1101可包括一个或多个处理单元,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。在一些实施例中,处理器1101和存储器1102可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1101可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于区块链系统的数据处理的实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1102作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1102可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器1102还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例提供了一种后端设备,如图6所示,包括至少一 个处理器1201,以及与至少一个处理器连接的存储器1202,本发明实施例中不限定处理器1201与存储器1202之间的具体连接介质,图6中处理器1201和存储器1202之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器1202存储有可被至少一个处理器1201执行的指令,至少一个处理器1201通过执行存储器1202存储的指令,可以执行前述的基于区块链系统的数据处理方法中所包括的步骤。
其中,处理器1201是终端设备的控制中心,可以利用各种接口和线路连接后端设备的各个部分,通过运行或执行存储在存储器1202内的指令以及调用存储在存储器1202内的数据,从而实现数据处理。可选的,处理器1201可包括一个或多个处理单元,处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要对接收到的指令进行解析以及对接收到的结果进行解析。可以理解的是,上述调制解调处理器也可以不集成到处理器1201中。在一些实施例中,处理器1201和存储器1202可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1201可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于区块链系统的数据处理的实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1202可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器1202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用 于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

  1. 一种基于区块链系统的数据处理方法,其特征在于,所述方法包括:
    接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待检索数据的特征值;
    获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据;
    将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。
  2. 根据权利要求1所述的方法,其特征在于,所述接收区块链系统中的第一节点发送的检索请求之前,还包括:
    接收所述第一节点发送的认证信息,并确定所述第一节点的认证信息合法;
    其中,所述认证信息包括所述第一节点的身份、所述第一节点所属的机构和所述第一节点的联系方式。
  3. 根据权利要求1所述的方法,其特征在于,所述预设索引库是通过如下方式得到的:
    接收所述区块链系统中的至少一个第二节点发送的一条或多条共享数据,并将所述一条或多条共享数据存储在预设区块中;所述一条或多条共享数据中的每条共享数据包括所述每条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,所述源数据的地址用于获取所述源数据;
    设置所述一条或多条共享数据分别对应的索引值,并根据所述一条或多条共享数据对应的索引值、所述一条或多条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,生成与所述一条或多条共享数据对应的一条或多条索引数据,进而根据所述一条或多条索引数据构建所述预设索引库。
  4. 根据权利要求3所述的方法,其特征在于,所述获取预设索引库中的至少一条索引数据,包括:
    根据所述待检索数据的类型,从所述一条或多条索引数据中获取与所述待检索数据的类型匹配的所述至少一条索引数据。
  5. 根据权利要求3所述的方法,其特征在于,所述根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据,包括:
    获取所述至少一条索引数据对应的至少一条源数据的特征值,并根据所述至少一条源数据的特征值和所述待检索数据的特征值,确定所述至少一条索引数据与所述待检索数据的相似程度;
    根据所述至少一条索引数据与所述待检测数据的相似程度,从所述至少一条索引数据中选取与所述待检索数据的相似程度大于第一预设阈值的所述目标索引数据。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述待检索数据的特征值为使用安全多方计算方式进行加密的特征值。
  7. 一种区块链系统,其特征在于,所述区块链系统包括检索节点、至少一个数据提供节点和至少一个数据使用节点,所述至少一个数据使用节点包括第一节点;
    所述至少一个数据使用节点,用于将加密后的一条或多条共享数据存储在预设区块中;
    所述检索节点,用于获取所述预设区块中存储的所述一条或多条共享数据,并根据所述一条或多条共享数据生成与所述一条或多条共享数据对应的一条或多条索引数据;
    所述第一节点,用于向所述检索节点发送待检索数据的特征值;
    所述检索节点,还用于根据所述待检索数据的特征值对所述一条或多条索引数据进行检索,得到与所述待检索数据匹配的目标索引数据,并将所述目标索引数据发送给所述第一节点。
  8. 根据权利要求7所述的系统,其特征在于,所述区块链系统中还包括监管节点;
    所述监管节点,用于对所述至少一个数据提供节点和所述至少一个数据使用节点进行认证,若确定所述至少一个数据提供节点合法,则允许所述至少一个数据提供节点将加密后的一条或多条共享数据存储在预设区块中;以及,若确定所述至少一个数据使用节点合法,则允许所述至少一个数据使用节点向所述检索节点发送待检索数据的特征值。
  9. 一种基于区块链系统的数据处理装置,其特征在于,所述装置包括:
    收发模块,用于接收区块链系统中的第一节点发送的检索请求,所述检索请求包括待检索数据的特征值;
    获取模块,用于获取预设索引库中的至少一条索引数据,并根据所述待检索数据的特征值,从所述至少一条索引数据中获取与所述待检索数据的特征值匹配的目标索引数据;
    所述收发模块,还用于将所述目标索引数据发送给所述第一节点,以使所述第一节点根据所述目标索引数据获取所述目标索引数据对应的源数据。
  10. 根据权利要求9所述的装置,其特征在于,所述收发模块接收区块链系统中的第一节点发送的检索请求之前,还用于:
    接收所述第一节点发送的认证信息,并确定所述第一节点的认证信息合法;
    其中,所述认证信息包括所述第一节点的身份、所述第一节点所属的机构和所述第一节点的联系方式。
  11. 根据权利要求9所述的装置,其特征在于,所述预设索引库是通过如下方式得到的:
    接收所述区块链系统中的至少一个第二节点发送的一条或多条共享数据,并将所述一条或多条共享数据存储在预设区块中;所述一条或多条共享数据中的每条共享数据包括所述每条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,所述源数据的地址用于获取所述源数据;
    设置所述一条或多条共享数据分别对应的索引值,并根据所述一条或多条共享数据对应的索引值、所述一条或多条共享数据对应的源数据的特征值、所述源数据的类型和所述源数据的地址,生成与所述一条或多条共享数据一一对应的一条或多条索引数据,进而根据所述一条或多条索引数据构建所述预设索引库。
  12. 根据权利要求11所述的装置,其特征在于,所述获取模块具体用于:
    根据所述待检索数据的类型,从所述一条或多条索引数据中获取与所述待检索数据的类型匹配的所述至少一条索引数据。
  13. 根据权利要求12所述的装置,其特征在于,所述获取模块具体用于:
    获取所述至少一条索引数据对应的至少一条源数据的特征值,并根据所述至少一条源数据的特征值和所述待检索数据的特征值,确定所述至少一条索引数据与所述待检索数据的相似程度;
    根据所述至少一条索引数据与所述待检测数据的相似程度,从所述至少一条索引数据中选取相似程度大于第一预设阈值的所述目标索引数据。
  14. 根据权利要求9至13中任一项所述的装置,其特征在于,所述待检索数据的特征值为使用安全多方计算方式进行加密的特征值。
  15. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
  16. 一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
PCT/CN2020/091934 2019-06-20 2020-05-22 一种基于区块链系统的数据处理方法、系统及装置 WO2020253467A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910535141.6 2019-06-20
CN201910535141.6A CN110275887A (zh) 2019-06-20 2019-06-20 一种基于区块链系统的数据处理方法、系统及装置

Publications (1)

Publication Number Publication Date
WO2020253467A1 true WO2020253467A1 (zh) 2020-12-24

Family

ID=67961162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/091934 WO2020253467A1 (zh) 2019-06-20 2020-05-22 一种基于区块链系统的数据处理方法、系统及装置

Country Status (2)

Country Link
CN (1) CN110275887A (zh)
WO (1) WO2020253467A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420169A (zh) * 2021-06-22 2021-09-21 重庆紫光华山智安科技有限公司 档案存储、查询方法、系统、电子设备及介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275887A (zh) * 2019-06-20 2019-09-24 深圳前海微众银行股份有限公司 一种基于区块链系统的数据处理方法、系统及装置
CN110765318A (zh) * 2019-09-28 2020-02-07 北京瑞卓喜投科技发展有限公司 查询区块链数据的方法及装置
CN110795432B (zh) * 2019-10-29 2024-08-30 腾讯云计算(北京)有限责任公司 一种特征数据的检索方法、装置及存储介质
CN111177151A (zh) * 2019-12-20 2020-05-19 广东文储区块链科技有限公司 一种去中心化存储区块链上检索数据的方法及系统
CN113132328A (zh) * 2019-12-31 2021-07-16 中移(苏州)软件技术有限公司 一种数据处理方法、系统、设备和计算机可读存储介质
CN111258988B (zh) * 2020-02-05 2023-09-05 中国工商银行股份有限公司 资产管理方法、装置、电子设备以及介质
CN111709048A (zh) * 2020-05-15 2020-09-25 山西警察学院 一种基于私有链的数据安全共享的方法
CN111581404B (zh) * 2020-06-05 2022-10-28 山东舜网传媒股份有限公司 基于区块链技术的图文稿件全流程留痕的方法和系统
CN111782889A (zh) * 2020-07-07 2020-10-16 北京钢研新材科技有限公司 基于区块链的合金材料数据共享方法、系统及设备
CN112202875B (zh) * 2020-09-28 2024-07-02 北京八分量信息科技有限公司 基于区块链节点权重进行安全检测的方法、装置及相关产品
CN112487065A (zh) * 2020-12-09 2021-03-12 中国联合网络通信集团有限公司 一种数据检索方法和装置
CN113094192B (zh) * 2021-04-23 2024-05-28 杭州网易云音乐科技有限公司 一种数据处理方法、装置、介质和设备
CN115544171A (zh) * 2022-11-24 2022-12-30 中国电子信息产业集团有限公司第六研究所 异构物理资源数据处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180205552A1 (en) * 2015-06-02 2018-07-19 ALTR Solutions, Inc. Utilizing a tree-structure to segment and distribute files across a series of blockchains
CN109063138A (zh) * 2018-08-03 2018-12-21 上海点融信息科技有限责任公司 用于在区块链即服务平台搜索数据的方法、设备及存储介质
US20190171848A1 (en) * 2017-12-05 2019-06-06 The Guppy Group Inc. Distributed data management and verification
CN110275887A (zh) * 2019-06-20 2019-09-24 深圳前海微众银行股份有限公司 一种基于区块链系统的数据处理方法、系统及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018119587A1 (zh) * 2016-12-26 2018-07-05 深圳前海达闼云端智能科技有限公司 数据处理方法、装置、系统及信息采集设备
CN107729383B (zh) * 2017-09-18 2021-06-29 联动优势科技有限公司 一种索引库生成方法、数据验证方法、装置及平台
CN107943951B (zh) * 2017-11-24 2020-08-11 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种区块链业务信息的检索方法及系统
CN109036533A (zh) * 2018-07-26 2018-12-18 深圳还是威健康科技有限公司 一种医疗信息管理方法及相关设备
CN109388643A (zh) * 2018-10-26 2019-02-26 陕西医链区块链集团有限公司 一种基于区块链的快速数据检索系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180205552A1 (en) * 2015-06-02 2018-07-19 ALTR Solutions, Inc. Utilizing a tree-structure to segment and distribute files across a series of blockchains
US20190171848A1 (en) * 2017-12-05 2019-06-06 The Guppy Group Inc. Distributed data management and verification
CN109063138A (zh) * 2018-08-03 2018-12-21 上海点融信息科技有限责任公司 用于在区块链即服务平台搜索数据的方法、设备及存储介质
CN110275887A (zh) * 2019-06-20 2019-09-24 深圳前海微众银行股份有限公司 一种基于区块链系统的数据处理方法、系统及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420169A (zh) * 2021-06-22 2021-09-21 重庆紫光华山智安科技有限公司 档案存储、查询方法、系统、电子设备及介质

Also Published As

Publication number Publication date
CN110275887A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
WO2020253467A1 (zh) 一种基于区块链系统的数据处理方法、系统及装置
US11615362B2 (en) Universal model scoring engine
US12027244B2 (en) Healthcare transaction validation via blockchain systems and methods
CN112491551B (zh) 基于区块链的数据验证方法及装置、电子设备
TWI715999B (zh) 身份資訊的識別方法及裝置
CN109716707B (zh) 分布式电子记录和交易历史的服务器设备和方法
WO2018214716A1 (zh) 信贷额度确定方法、装置、服务器及可读存储介质
US20180005235A1 (en) Electronic transaction risk assessment based on digital identifier trust evaluation
US20180365688A1 (en) Transaction execution and validation in a blockchain
US20200159847A1 (en) Contribution of multiparty data aggregation using distributed ledger technology
US20120016896A1 (en) Systems and methods employing searches for known identifiers of sensitive information to identify sensitive information in data
JP2024079761A (ja) ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法
US20180337926A1 (en) Using third party information to improve predictive strength for authentications
CN109447791B (zh) 一种基于区块链的资金交易方法及装置
CN110766275A (zh) 数据验证方法、装置、计算机设备及存储介质
US20190081794A1 (en) Systems and methods for user identity
TW201227571A (en) Determination of permissibility associated with e-commerce transactions
WO2019143360A1 (en) Data security using graph communities
US20200356994A1 (en) Systems and methods for reducing false positives in item detection
WO2019209291A1 (en) Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
CN114741384A (zh) 一种患者信息处理方法及其装置、计算机可读存储介质
US11429602B2 (en) Multi-dimensional modeling of resource interaction processors
TW202127341A (zh) 一種資料處理方法、裝置與系統
EP4099612A1 (en) Control method, server, and program
US20220417223A1 (en) Managing Communication Of Sensitive Information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20827099

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20827099

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 29/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20827099

Country of ref document: EP

Kind code of ref document: A1