WO2020093723A1 - 一种基于区块链的健康数据校验方法、设备及服务器 - Google Patents

一种基于区块链的健康数据校验方法、设备及服务器 Download PDF

Info

Publication number
WO2020093723A1
WO2020093723A1 PCT/CN2019/095056 CN2019095056W WO2020093723A1 WO 2020093723 A1 WO2020093723 A1 WO 2020093723A1 CN 2019095056 W CN2019095056 W CN 2019095056W WO 2020093723 A1 WO2020093723 A1 WO 2020093723A1
Authority
WO
WIPO (PCT)
Prior art keywords
health data
data block
block
patient
blockchain
Prior art date
Application number
PCT/CN2019/095056
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 WO2020093723A1 publication Critical patent/WO2020093723A1/zh

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Definitions

  • This application relates to the field of computer technology, and in particular to a blockchain-based health data verification method, device, and server.
  • the diagnosis and treatment terminal collects the health data information of each patient in real time and uploads it to the server, so that medical staff, patients and other third-party users can query the health data information of each patient.
  • this method carries out data-related operations at all times, including data collection, data transmission, and data storage. Data is vulnerable to malicious attacks and illegal tampering operations at every link. Therefore, how to improve the security of data is very important.
  • Embodiments of the present application provide a blockchain-based health data verification method, device, and server, which can ensure the integrity of the health data blockchain and improve the safety of health data.
  • an embodiment of the present application provides a blockchain-based health data verification method, which includes:
  • the health data block is generated according to each patient's health data type, and the health data block includes a patient ID and the corresponding patient ID Health data, the health data includes any one or more of disease data, medical examination data, exercise data, lifestyle data;
  • an embodiment of the present application provides a data verification device.
  • the data verification device includes a unit for performing the method of the first aspect.
  • an embodiment of the present application provides a server, including a processor, an input device, an output device, and a memory, where the processor, input device, output device, and memory are connected to each other, wherein the memory is used for storage support
  • the data verification device executes the computer program of the above method, the computer program includes program instructions, and the processor is configured to call the program instructions to perform the method of the first aspect.
  • an embodiment of the present application provides a computer-readable storage medium that stores a computer program, where the computer program includes program instructions, which when executed by a processor causes The processor executes the method of the first aspect described above.
  • the data of the health data blockchain is ensured Integrity improves the security of health data.
  • FIG. 1 is a schematic flowchart of a blockchain-based health data verification method provided by an embodiment of the present application
  • FIG. 2 is a schematic flowchart of another blockchain-based health data verification method provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of yet another blockchain-based health data verification method provided by an embodiment of the present application.
  • FIG. 4 is a schematic block diagram of a data verification device provided by an embodiment of the present application.
  • FIG. 5 is a schematic block diagram of a server provided by an embodiment of the present application.
  • the health data verification method based on the blockchain provided in the embodiments of the present application may be executed by a data verification system.
  • the data verification system includes a data verification device and a diagnosis and treatment terminal.
  • the The data verification device may be provided on a server, and the server may include smart terminals such as mobile phones, computers, tablets, and smart watches.
  • a communication connection may be established between the data verification device and the diagnosis and treatment terminal for two-way communication.
  • the data verification device may be installed on a server, and in some embodiments, the data verification device may be spatially independent of the server.
  • the diagnosis and treatment terminal may include a smart terminal such as a mobile phone, a computer, a tablet, and a smart watch.
  • the diagnosis and treatment terminal may send the collected health data blocks of each patient to the server.
  • the server may The health data type of each health data block corresponding to a patient ID, classify the health data block of each patient, and according to the preset order of health data types, the corresponding health data of each classified patient ID
  • the blocks are sorted, and a health data blockchain is generated according to the sorted health data blocks, and the health data blockchain is checked for integrity. If the verification is successful, the health data blockchain is determined The health data block is complete. If the verification fails, it is determined that there is a health data block in the health data block chain whose health data information has been illegally tampered with. In this way, it is possible to avoid sending illegally tampered health data to a third party, and to improve the security of the data.
  • the block-based health data verification method according to an embodiment of the present application will be schematically described below with reference to the drawings.
  • FIG. 1 is a schematic flowchart of a blockchain-based health data verification method provided by an embodiment of the present application. As shown in FIG. 1, the method may be performed by a data verification device.
  • the verification device is provided on the server, and the specific explanation of the data verification device is as described above, and will not be repeated here.
  • the method in the embodiment of the present application includes the following steps.
  • S101 Acquire at least one patient's health data block sent by the diagnosis and treatment terminal.
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal.
  • the health data block is generated according to each patient's health data type.
  • the health data The block includes a patient ID and health data corresponding to the patient ID, and the health data includes any one or more of disease data, medical examination data, exercise data, and lifestyle data.
  • S102 Classify the health data blocks of each patient according to the health data types of each health data block corresponding to each patient identifier.
  • the server may classify the health data blocks of each patient according to the health data type of each health data block corresponding to each patient identifier.
  • the health data types may include any one or more of disease data types, medical examination data types, exercise data types, and lifestyle data types.
  • S103 Sort the health data blocks corresponding to the classified patient identifiers according to the preset order of the health data types, and generate a health data block chain according to the sorted health data blocks.
  • the server may sort the health data blocks corresponding to the classified patient identifiers according to the preset health data type order, and generate a health data blockchain according to the sorted health data blocks .
  • the order of the preset health data types may be an artificially preset order.
  • the health data types include disease data types, physical examination data types, exercise data types, and lifestyle data types, if the preset health data types are in the order of disease data type, physical examination data type, lifestyle data type 1.
  • the health data blocks of each category are sorted according to the preset order of the health data types, and a health data blockchain is generated according to the sorted health data blocks. In this way, it is beneficial for the server to search for health data according to the types of health data blocks corresponding to different types of health data of each patient, which improves the efficiency of finding health data.
  • the server may obtain the number of health data blocks of each patient, sort the patients according to the number of health data blocks, and generate the described according to the sorted health data blocks Health data blockchain. For example, assuming that the server obtains the health data blocks of n patients sent by the diagnosis and treatment terminal, the server may sequentially sort the n patients according to the order of the number of each health data block, and according to The sorted n health data blocks of each patient generate the health data blockchain. In this way, it is advantageous for the server to search for health data according to the number of each health data block corresponding to the patient identification of each patient, which improves the search efficiency of health data.
  • S104 Perform integrity check on the health data blockchain.
  • the server may perform an integrity check on the health data blockchain.
  • the health data block includes a block hash code, and the server may perform a block check on the health data block according to the block hash code of the health data block and a preset detection period. Perform an integrity check.
  • the health data acquisition request carries encrypted information
  • the health data block includes a block hash code
  • the server may use the encrypted information carried in the health data acquisition request and the health The block hash code of the data block performs integrity check on the health data blockchain.
  • the server may determine that the health data block in the health data blockchain is complete.
  • the server may determine that there is a health data block in the health data blockchain that has been illegally tampered with health data information .
  • the server may acquire the health data block of at least one patient sent by the diagnosis and treatment terminal, and perform the health data block of each patient according to the health data type of each health data block corresponding to each patient identification Classification, according to the order of the preset health data types, sort the health data blocks corresponding to each patient ID after classification, and generate a health data block chain according to the sorted health data blocks, and classify the health data blocks
  • the chain performs integrity verification. If the verification is successful, it is determined that the health data block in the health data blockchain is complete. If the verification fails, it is determined that there is health data in the health data blockchain that has been tampered with illegally. Block. In this way, the integrity of health data blocks is ensured, and the security of health data is improved.
  • FIG. 2 is a schematic flowchart of another blockchain-based health data verification method provided by an embodiment of the present application. As shown in FIG. 2, the method may be performed by a data verification device. The specific explanation of the verification device is as described above, and will not be repeated here. The difference between the embodiment of the present application and the embodiment described in FIG. 1 above is that the embodiment of the present application is a detailed description of an implementation process of performing integrity verification on the health data blockchain. Specifically, the method in the embodiment of the present application includes the following steps.
  • S201 Acquire at least one patient's health data block sent by the diagnosis and treatment terminal.
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal.
  • the explanation of the health data block is as described above, and the explanation of the health data is as described above, which will not be repeated here.
  • S202 Classify the health data blocks of each patient according to the health data types of each health data block corresponding to each patient identifier.
  • the server may classify the health data blocks of each patient according to the health data type of each health data block corresponding to each patient identifier.
  • the specific implementation process and examples are as described above and will not be repeated here.
  • S203 Sort the health data blocks corresponding to the classified patient identifiers according to the preset order of the health data types, and generate a health data block chain according to the sorted health data blocks.
  • the server may sort the health data blocks corresponding to the classified patient identifiers according to the preset health data type order, and generate a health data blockchain according to the sorted health data blocks .
  • the specific implementation process and schematic description are as described above and will not be repeated here.
  • the server may obtain the block hash code of each health data block in the health data blockchain.
  • the health data block includes a block hash code, and after the server generates a health data block chain based on the sorted health data block, the server may obtain each of the health block chains. The hash code of the health data block.
  • step S205 Detect whether the block hash codes between adjacent health data blocks in each health data block are related according to a preset detection period. If the detection result is yes, step S206 is executed, if the detection result is If not, step S207 is executed.
  • the server may detect whether the block hash codes between adjacent health data blocks in each health data block are related according to a preset detection period, and if the detection result is yes, perform the step S206, if the detection result is no, step S207 is executed. For example, assuming that the preset detection period is 1h, the server may cyclically detect block hash codes between adjacent health data blocks in each health data block according to the preset detection period of 1h Whether it is related.
  • the server may detect between adjacent health data blocks in each health data block Whether the hash codes of the blocks are continuous, and if they are continuous, it can be determined that the block hash codes between adjacent health data blocks in each health data block are associated, and if they are not continuous, then each health can be determined The block hash codes between adjacent health data blocks in the data block are not related.
  • the server can detect the 1, 2, 3,,, Whether the block hash codes between n and n consecutive health data blocks are related, that is, the server can detect whether the block hash codes of the health data block 1 and the health data block 2 are continuous, Similarly, it can be detected whether the block hash codes of the health data block 2 and the health data block 3 are continuous, and so on, until the areas of the health data block n-1 and the health data block n are detected Whether the block hash codes are continuous.
  • the server may determine that the health data block chain is successfully verified.
  • the server may determine that the verification of the health data blockchain fails. After the verification fails, it is determined that there is a health data block in the health data block chain whose health data information has been illegally tampered with.
  • the server may obtain between adjacent health data blocks in each health data block Of multiple target health data blocks that are not associated with the block hash code of, and check whether each target health data block is associated with the block hash code between adjacent other health data blocks, if the detection result is no Then, it is determined that the target health data block that is not associated with the block hash code between the adjacent other health data blocks in each target health data block is a health data block that has been illegally tampered with.
  • the server obtains n consecutive blocks of health data, and the block identifiers are 1, 2, 3,, n, if the server detects the 1, 2, 3,, n, n
  • the block hash codes between health data block 2 and health data block 3 in the consecutive health data blocks are not related, while the block hash between health data block 1 and health data block 2 Codes are associated, and the block hash codes between health data block 3 and health data block 4 are not associated, health data block 4 and health data block 5 are associated, and so on, health data block n-1 is associated with the block hash code between the health data block n, then the server may determine that the health data block 3 is the target health data block that has been illegally tampered with.
  • the health data block includes a patient identification
  • the server may determine that the health data block is illegally tampered with
  • At least one patient identification corresponding to the health data block of the patient according to the at least one patient identification, generate a patient identification list of the health data block that has been tampered with illegally, and send to the terminal corresponding to each patient identification in the patient identification list
  • a notification message to notify that the terminal health data block corresponding to each patient identification has been tampered with.
  • the server may obtain the patient identification a and health data block 3 of the health data block 2 Patient identification b, according to the patient identification a and the patient identification b, generate a patient identification list of the health data block that has been tampered with illegally, and send a notification message to the terminal corresponding to each patient identification in the patient identification list, to Notify that the terminal health data block corresponding to the patient identification a and the patient identification b has been tampered with.
  • the health data block includes a block identification
  • the server may determine at least one block identification corresponding to the illegally tampered health data block, based on the at least one patient identification and the At least one block identification, generating a block identification list of the health data block that has been illegally tampered with, and sending a health data block acquisition request to a terminal corresponding to each patient identification in the patient identification list, so that the The terminal corresponding to each patient identification re-uploads the health data block, and the health data block re-uploaded by the terminal corresponding to each patient identification is placed in the block corresponding to each patient identification in the health data block chain Identify the corresponding location.
  • the server may obtain the patient identification a and block identification 2 of the health data block 2, And the patient identification b and the block identification 3 of the health data block 3, according to the patient identification a and the block identification 2, the patient identification b and the block identification 3, a block where the health data block is illegally tampered with is generated Identify the list.
  • the health data block carries a patient identification
  • the server may determine the target health data block that has been tampered with, And send prompt information to the diagnosis and treatment terminal, wherein the prompt information carries a patient identification, and the prompt information is used to prompt that the health data of the target health data block corresponding to the patient identification is illegally tampered, so that all
  • the diagnosis and treatment terminal may re-upload the target health data block corresponding to the patient identification. In this way, the diagnosis and treatment terminal can re-upload the illegally tampered health data block, complete the health data block of the health data block chain, and ensure the integrity of the data in the health data block chain.
  • the server obtains 1, 2, 3, ..., n, n consecutive health data blocks, and the block identifiers of the n health data blocks correspond to 1, 2, 3, ..., n, if the server determines that the target health data blocks illegally tampered in each health data block are health data block 2 and health data block 3, and the server obtains the health data block
  • the patient ID of 2 is a
  • the patient ID of the obtained health data block 3 is b
  • the server may send prompt information to the diagnosis and treatment terminal to alert the diagnosis and treatment terminal of the patient ID a
  • the health data block 2 and the health data block 3 corresponding to the patient identification b are illegally tampered, so that the medical terminal can re-upload the health data block 2 corresponding to the patient identification a and the patient identification b Of health data block 3.
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal, and classify each patient's health data block according to the health data type of each health data block corresponding to each patient identification. According to the preset order of the health data types, the health data blocks corresponding to the classified patient IDs are sorted, and the health data block chain is generated according to the sorted health data blocks, so as to improve the user's health data area Block query efficiency.
  • the server can obtain the block hash code of each health data block in the health data blockchain, and detect whether the block hash code between adjacent health data blocks in each health data block is based on a preset detection cycle Correlation, if not, it can be determined that the integrity check of the health data blockchain fails, and it is determined that there is a health data block in the health data blockchain that has been illegally tampered with health data information. In this way, the security of the data can be improved and the integrity of the data in the health data blockchain can be ensured.
  • FIG. 3 is a schematic flowchart of yet another blockchain-based health data verification method provided by an embodiment of the present application. As shown in FIG. 3, this method may be performed by a data verification device, and the data The specific explanation of the verification device is as described above, and will not be repeated here.
  • the difference between the embodiment of the present application and the embodiment described in FIG. 2 above is that the embodiment of the present application is another detailed description of another implementation process of verifying each health data block in the health data blockchain.
  • the method in the embodiment of the present application includes the following steps.
  • S301 Acquire at least one patient's health data block sent by the diagnosis and treatment terminal.
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal.
  • the explanation of the health data block is as described above, and the explanation of the health data is as described above, which will not be repeated here.
  • S302 Classify the health data blocks of each patient according to the health data type of each health data block corresponding to each patient identifier.
  • the server may classify the health data blocks of each patient according to the health data type of each health data block corresponding to each patient identifier.
  • the specific implementation process and examples are as described above and will not be repeated here.
  • S303 Sort the health data blocks corresponding to the classified patient identifiers according to the preset order of the health data types, and generate a health data block chain according to the sorted health data blocks.
  • the server may sort the health data blocks corresponding to the classified patient identifiers according to the preset health data type order, and generate a health data blockchain according to the sorted health data blocks .
  • the specific implementation process and schematic description are as described above and will not be repeated here.
  • the server may acquire the encryption information carried in the health data acquisition request, where the encryption information may include an encryption algorithm and a key.
  • the health data acquisition request may be an acquisition request for all health data blocks in the health data blockchain.
  • the health data acquisition request may carry a target patient identification to acquire the health data block corresponding to the target patient identification.
  • the health data acquisition request may carry a target block identifier to obtain the health data block corresponding to the target block identifier.
  • the health data acquisition request may carry a target patient identification and a target block identification to acquire a health data block corresponding to the target patient identification and target block identification.
  • the server when receiving a health data acquisition request sent by a third party, may acquire the block hash code of each health data block in the health data blockchain.
  • the block hash code is obtained by the server encrypting the health data block according to a preset encryption algorithm before generating the health data block chain from each health data block .
  • the preset encryption algorithm may be a preset hash algorithm such as SHA256, and the embodiments of the present application do not specifically limit the preset encryption algorithm.
  • the health data acquisition request includes identity verification information.
  • the server may check the integrity of the health data blockchain before The health data acquisition request acquires the identity verification information.
  • the identity verification information includes any one or more types of information in a password, a fingerprint, and a voice.
  • the server may match the identity verification information with preset identity verification information, and if the match is successful, trigger the step of performing the integrity check on the health data blockchain. In this way, the identity verification of the third party sending the health data acquisition request can ensure the safety of the third party, avoid sending the health data to unauthorized illegal users, and further ensure the safety of the health data.
  • S304 Encrypt the health data blocks according to the encryption information of the health data blocks in the health data block chain, and generate a check hash code corresponding to the health data blocks.
  • the server may perform encryption processing on each health data block according to the encrypted information of each health data block in the health data blockchain to generate a check corresponding to each health data block Hash code.
  • the server may perform encryption processing on each health data block according to the encryption algorithm and key in the encrypted information to generate a Describe the check hash code of each health data block.
  • the encryption algorithm obtained by the server is the hash algorithm SHA256 and the key is xyz. If the health data blockchain includes 1, 2, 3,, n, n consecutive health data blocks, Then, the server may encrypt the health data blocks according to the hash algorithm SHA256 and the key xyz to generate a check hash code for the health data blocks.
  • the health data acquisition request carries the target patient ID and / or target block ID
  • the server may use the encrypted information corresponding to the target patient ID and / or target block ID.
  • An encryption algorithm and a key to encrypt the health data block corresponding to the target patient ID and / or target block ID to generate a health data block corresponding to the target patient ID and / or target block ID Checksum hash code.
  • the server The health data block 2 may be encrypted according to the encryption algorithm SHA256 and the key xyz to generate a check hash code of the health data block 2.
  • step S305 Detect whether the check hash code corresponding to each health data block matches the block hash code of the health data block. If they match, perform step S306, and if they do not match, perform step S307.
  • the server may detect whether the check hash code corresponding to each health data block is in accordance with the area of the health data block If the block hash codes match, step S306 is executed, and if they do not match, step S307 is executed.
  • the server may determine the health data blockchain's The integrity check was successful.
  • the server may determine the health data block After the verification of the chain is successful, each health data block corresponding to the health data acquisition request is sent to the third party.
  • the server may determine the health data blockchain Integrity check failed, and it is determined that there is a health data block in the health data block chain that has been illegally tampered with health data information.
  • the server may obtain the block hash code and the address in each health data block The at least one target health data block that does not match the verification hash code of each health data block, and determining that the at least one target health data block is the illegally tampered health data block.
  • the server obtains a health data acquisition request sent by a third party before determining that there is a health data block in the health data blockchain that has been tampered with illegally, if the server determines that If the health data block corresponding to the health data acquisition request in the health data block chain is tampered with illegally, the health data acquisition request sent by the third party may be rejected, and the corresponding health data acquisition request may be determined. Illegally tampering the target health data block to send prompt information to the third party, wherein the prompt information is used to prompt that the health data of the target health data block is illegally tampered with. In this way, avoid sending illegally tampered health data blocks to third parties.
  • the server may send prompt information to the diagnosis and treatment terminal, where the prompt information carries the patient identification and area of the target health data block Block identification to prompt the medical terminal that the target health data block has been illegally tampered with, so that the medical terminal can re-upload the target health data block.
  • the diagnosis and treatment terminal can re-upload the target health data block that has been tampered with illegally, ensuring the integrity of the data in the health data blockchain.
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal, and classify each patient's health data block according to the health data type of each health data block corresponding to each patient identification .
  • the server may sort the health data blocks corresponding to the classified patient IDs according to the preset health data type order, and generate a health data block chain according to the sorted health data blocks.
  • the server can encrypt each health data block according to the encrypted information of each health data block in the health data block chain to generate a check hash code corresponding to each health data block.
  • the integrity check of the health data blockchain has failed, thereby determining that there is health data in the health data blockchain that has been illegally tampered with health data information Block. In this way, you can ensure the integrity of the data in the health data blockchain, avoid sending illegally tampered health data blocks to third parties, and improve data security.
  • FIG. 4 is a schematic block diagram of a data verification device according to an embodiment of the present application.
  • the data verification device of this embodiment includes: an acquisition unit 401, a classification unit 402, a generation unit 403, a verification unit 404, a first determination unit 405, and a second determination unit 406.
  • the obtaining unit 401 is configured to obtain at least one patient's health data block sent by the diagnosis and treatment terminal, wherein the health data block is generated according to each patient's health data type, and the health data block includes a patient identification and Health data corresponding to the patient identification, the health data including any one or more of disease data, medical examination data, exercise data, lifestyle data;
  • the classification unit 402 is configured to classify the health data blocks of each patient according to the health data types of each health data block corresponding to each patient identification;
  • the generating unit 403 is configured to sort the health data blocks corresponding to the classified patient identifiers according to the preset health data type order, and generate a health data blockchain according to the sorted health data blocks;
  • a verification unit 404 configured to perform integrity verification on the health data blockchain
  • the first determining unit 405 is used to determine that the health data block in the health data block chain is complete if the verification is successful;
  • the second determining unit 406 is configured to determine if there is a health data block in the health data block chain whose health data information has been illegally tampered if the verification fails.
  • the health data block includes a block hash code; when the verification unit 404 performs an integrity check on the health data blockchain, it is specifically used to:
  • the first determination unit 405 is also used to:
  • each target health data block is associated with a block hash code between other adjacent health data blocks.
  • the adjacent other health data blocks are linked to the Health data block adjacent to the target health data block;
  • the target health data block in the target health data block that is not associated with the block hash code between other adjacent health data blocks is a health data block that has been illegally tampered with .
  • the health data block includes a block hash code; when the verification unit 404 performs an integrity check on the health data blockchain, it is specifically used to:
  • the first determining unit 405 determines that there is a health data block in the health data block chain whose health data information is illegally tampered with, it is also used to:
  • the at least one target health data block is the illegally tampered health data block.
  • the health data block includes a patient identification; after determining that there is a health data block in the health data block chain whose health data information has been illegally tampered with, the first determination unit 405 is also used to:
  • the at least one patient identification generating a list of patient identifications where the health data block has been illegally tampered with;
  • the health data block includes a block identifier
  • the first determining unit 405 is also used to:
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal, and classify each patient's health data block according to the health data type of each health data block corresponding to each patient identification. According to the preset order of the health data types, sort the health data blocks corresponding to the classified patient IDs, and generate the health data blockchain according to the sorted health data blocks, and then conduct the health data blockchain Integrity verification, if the verification is successful, it is determined that the health data block in the health data blockchain is complete, if the verification fails, it is determined that there is a health data block in the health data blockchain that has been illegally tampered . In this way, the integrity of health data blocks is ensured, and the security of health data is improved.
  • FIG. 5 is a schematic block diagram of a server provided by an embodiment of the present application.
  • the server in this embodiment may include: one or more processors 501; one or more input devices 502, one or more output devices 503, and a memory 504.
  • the above processor 501, input device 502, output device 503, and memory 504 are connected via a bus 505.
  • the memory 504 is used to store a computer program, and the computer program includes program instructions, and the processor 501 is used to execute the program instructions stored in the memory 504.
  • the processor 501 is configured to call the program instruction to execute:
  • the health data block is generated according to each patient's health data type, and the health data block includes a patient ID and the corresponding patient ID Health data, the health data includes any one or more of disease data, medical examination data, exercise data, lifestyle data;
  • the health data block includes a block hash code.
  • the processor 501 performs an integrity check on the health data block chain, it is specifically used to:
  • the processor 501 determines that there is a health data block in the health data block chain whose health data information has been illegally tampered with, it is also used to:
  • each target health data block is associated with a block hash code between other adjacent health data blocks.
  • the adjacent other health data blocks are linked to the Health data block adjacent to the target health data block;
  • the target health data block in the target health data block that is not associated with the block hash code between other adjacent health data blocks is a health data block that has been illegally tampered with .
  • the health data block includes a block hash code; when the processor 501 performs an integrity check on the health data block chain, it is specifically used to:
  • the processor 501 determines that there is a health data block in the health data block chain whose health data information has been illegally tampered with, it is also used to:
  • the at least one target health data block is the illegally tampered health data block.
  • the health data block includes a patient identification, and after the processor 501 determines that there is a health data block in the health data block chain whose health data information has been illegally tampered with, it is also used to:
  • the at least one patient identification generating a list of patient identifications where the health data block has been illegally tampered with;
  • the health data block includes a block identifier; the processor 501 is also used to:
  • the server may obtain at least one patient's health data block sent by the diagnosis and treatment terminal, and classify each patient's health data block according to the health data type of each health data block corresponding to each patient identification. According to the preset order of the health data types, sort the health data blocks corresponding to the classified patient IDs, and generate the health data blockchain according to the sorted health data blocks, and then conduct the health data blockchain Integrity verification, if the verification is successful, it is determined that the health data block in the health data blockchain is complete, if the verification fails, it is determined that there is a health data block in the health data blockchain that has been illegally tampered with health data information . In this way, the integrity of health data blocks is ensured, and the security of health data is improved.
  • the so-called processor 501 may be a central processing unit (Central Processing Unit, CPU), and the processor may also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP) , Application Specific Integrated Circuit (Application Specific Integrated Circuit, ASIC), ready-made programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the input device 502 may include a touch panel, a microphone, and the like
  • the output device 503 may include a display (LCD, etc.), a speaker, and the like.
  • the memory 504 may include a read-only memory and a random access memory, and provide instructions and data to the processor 501. A portion of the memory 504 may also include non-volatile random access memory. For example, the memory 504 may also store device type information.
  • the processor 501, the input device 502, and the output device 503 described in the embodiments of the present application may execute FIG. 1, FIG. 2, or FIG. 3 of the blockchain-based health data verification method provided by the embodiments of the present application
  • the implementation described in the method embodiments described above can also implement the implementation of the data verification device described in FIG. 4 or the implementation of the server described in FIG. 5 in the embodiments of the present application, which will not be repeated here.
  • An embodiment of the present application also provides a computer-readable storage medium that stores a computer program, and when the computer program is executed by a processor, the embodiment corresponding to FIG. 1, FIG. 2, or FIG. 3 is implemented.
  • the health data verification method based on the blockchain described in the above can also implement the data verification device of the embodiment corresponding to FIG. 4 of the present application or the server described in FIG. 5, which will not be repeated here.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本申请实施例公开了一种基于区块链的健康数据校验方法、设备及服务器,其中,该方法包括:获取诊疗终端发送的至少一个患者的健康数据区块;根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;对所述健康数据区块链进行完整性校验;如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式,确保了健康数据区块链的数据完整性,提高了健康数据的安全性。

Description

一种基于区块链的健康数据校验方法、设备及服务器
本申请要求于2018年11月07日提交中国专利局、申请号为201811323291.2、申请名称为“一种基于区块链的健康数据校验方法、设备及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的健康数据校验方法、设备及服务器。
背景技术
目前,随着互联网的快速发展,各种数据信息均可以通过网络的方式进行存储,以便用户可以更方便地获取所需数据。例如医学领域中的健康数据,诊疗终端通过实时采集各患者的健康数据信息,并上传至服务器,以方便医护人员、患者等第三方用户查询各患者的健康数据信息。然而,这种方式每时每刻都在进行着与数据有关的操作,包括数据采集、数据传输和数据存储等环节,数据在每一个环节都容易受到恶意攻击和非法篡改操作。因此,如何提高数据的安全性非常重要。
发明内容
本申请实施例提供一种基于区块链的健康数据校验方法、设备及服务器,可确保健康数据区块链的完整性,提高健康数据的安全性。
第一方面,本申请实施例提供了一种基于区块链的健康数据校验方法,该方法包括:
获取诊疗终端发送的至少一个患者的健康数据区块,其中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种;
根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;
按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;
对所述健康数据区块链进行完整性校验;
如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;
如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
第二方面,本申请实施例提供了一种数据校验设备,该数据校验设备包括用于执行上述第一方面的方法的单元。
第三方面,本申请实施例提供了一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持数据校验设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本申请实施例,通过对各患者的健康数据区块进行分类排序,并对根据排序后的健康数据区块生成的健康数据区块链进行完整性校验,确保了健康数据区块链的数据完整性,提高了健康数据的安全性。
附图说明
图1是本申请实施例提供的一种基于区块链的健康数据校验方法的示意流程图;
图2是本申请实施例提供的另一种基于区块链的健康数据校验方法的示意流程图;
图3是本申请实施例提供的又一种基于区块链的健康数据校验方法的示意流程图;
图4是本申请实施例提供的一种数据校验设备的示意框图;
图5是本申请实施例提供的一种服务器的示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的基于区块链的健康数据校验方法可以由一种数据校验系统执行,所述数据校验系统包括数据校验设备和诊疗终端,在某些实施例中,所述数据校验设备可以设置在服务器上,所述服务器可以包括手机、电脑、平板、智能手表等智能终端。在某些实施例中,所述数据校验设备和所述诊疗终端之间可以建立通信连接,以进行双向通信。在某些实施例中,所述数据校验设备可以安装在服务器上,在某些实施例中,所述数据校验设备可以在空间上独立于所述服务器。在某些实施例中,所述诊疗终端可以包括:手机、电脑、平板、智能手表等可智能终端。
该数据校验系统中所述诊疗终端可以将采集到的各患者的健康数据区块发送给服务器,所述服务器在获取到所述诊疗终端发送的各患者的健康数据区块之后,可以根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类,按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链,对所述健康数据区块链进行完整性校验,如果校验成功,则确定所述健康数据区块链中的健康数据区块完整,如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式可以避免将被非法篡改的健康数据发送给第三方,提高了数据的安全性。下面结合附图对本申请实施例的基于区块链的健康数据校验方法进行示意性说明。
请参见图1,图1是本申请实施例提供的一种基于区块链的健康数据校验方法的示意流程图,如图1所示,该方法可以由数据校验设备执行,所述数据校验设备设置于服务器上,所述数据校验设备的具体解释如前所述,此处不再赘述。具体地,本申请实施例的所述方法包括如下步骤。
S101:获取诊疗终端发送的至少一个患者的健康数据区块。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块,在某些实施例中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种。
S102:根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类。
本申请实施例中,服务器可以根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类。在某些实施例中,所述健康数据类型可以包括疾病数据类型、体检数据类型、运动数据类型、生活习惯数据类型中的任意一种或多种。
S103:按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。
本申请实施例中,服务器可以按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。在某些实施例中,所述预设的健康数据类型的先后顺序可以是人为预设的顺序。例如,假设健康数据类型包括疾病数据类型、体检数据类型、运动数据类型、生活习惯数据类型,如果所述预设的健康数据类型的先后顺序依次为疾病数据类型、体检数据类型、生活习惯数据类型、运动数据类型,则根据所述预设的健康数据类型的先后顺序,对各类别的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。通过这 种方式,有利于服务器可以根据各患者不同健康数据类型对应的健康数据区块的类型,查找健康数据,提高了健康数据的查找效率。
在一个实施例中,所述服务器可以获取各患者的健康数据区块的数量,根据所述健康数据区块的数量,对所述各患者进行排序,按照排序后的健康数据区块生成所述健康数据区块链。例如,假设所述服务器获取到诊疗终端发送的n个患者的健康数据区块,则所述服务器可以根据各健康数据区块的数量的大小顺序,依次对所述n个患者进行排序,并按照排序后的n各患者的各健康数据区块生成所述健康数据区块链。通过这种方式,有利于服务器可以根据各患者的患者标识对应的各健康数据区块的数量,查找健康数据,提高了健康数据的查找效率。
S104:对所述健康数据区块链进行完整性校验。
本申请实施例中,所述服务器可以对所述健康数据区块链进行完整性校验。在一个实施例中,所述健康数据区块包括区块哈希码,所述服务器可以根据所述健康数据区块的区块哈希码以及预设的检测周期对所述健康数据区块链进行完整性校验。在一个实施例中,所述健康数据获取请求中携带加密信息,所述健康数据区块包括区块哈希码,所述服务器可以根据所述健康数据获取请求中携带的加密信息以及所述健康数据区块的区块哈希码,对所述健康数据区块链进行完整性校验。
S105:如果校验成功,则确定所述健康数据区块链中的健康数据区块完整。
本申请实施例中,所述服务器如果检测到对所述健康数据区块链进行完整性校验成功,则可以确定所述健康数据区块链中的健康数据区块完整。
S106:如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
本申请实施例中,所述服务器如果检测到对所述健康数据区块链进行完整性校验失败,则可以确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块,根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类,按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链,对健康数据区块链进行完整性校验,如果校验成功,则确定健康数据区块链中的健康数据区块完整,如果校验失败,则确定健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式,确保了健康数据区块的完整性,提高了健康数据的安全性。
请参见图2,图2是本申请实施例提供的另一种基于区块链的健康数据校验方法的示意流程图,如图2所示,该方法可以由数据校验设备执行,该数据校验设备的具体解释如前所述,此处不再赘述。本申请实施例与上述图1所述实施例的区别在于,本申请实施例是对所述健康数据区块链进行完整性校验 的一种实施过程进行详细的说明。具体地,本申请实施例的所述方法包括如下步骤。
S201:获取诊疗终端发送的至少一个患者的健康数据区块。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块。其中,所述健康数据区块的解释如前所述,以及所述健康数据的解释如前所述,此处不再赘述。
S202:根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类。
本申请实施例中,服务器可以根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类。具体实施过程及举例说明如前所述,此处不再赘述。
S203:按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。
本申请实施例中,服务器可以按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。具体实施过程及示意性说明如前所述,此处不再赘述。
S204:获取所述健康数据区块链中各健康数据区块的区块哈希码。
本申请实施例中,服务器可以获取所述健康数据区块链中各健康数据区块的区块哈希码。在一个实施例中,所述健康数据区块中包括区块哈希码,所述服务器在根据排序后的健康数据区块生成健康数据区块链之后,可以获取所述健康区块链中各健康数据区块的哈希码。
S205:根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联,如果检测结果为是,则执行步骤S206,如果检测结果为否,则执行步骤S207。
本申请实施例中,服务器可以根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联,如果检测结果为是,则执行步骤S206,如果检测结果为否,则执行步骤S207。例如,假设所述预设的检测周期为1h,则所述服务器可以根据该预设的检测周期1h,循环检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联。
在一个实施例中,所述服务器在检测各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联时,可以检测各健康数据区块中相邻健康数据区块间的区块哈希码是否连续,如果连续,则可以确定所述各健康数据区块中相邻健康数据区块间的区块哈希码相关联,如果不连续,则可以确定所述各健康数据区块中相邻健康数据区块间的区块哈希码不相关联。
具体可举例说明,假设所述服务器获取到n个连续的健康数据区块,区块标识分别为1、2、3、、、n,所述服务器可以检测所述1、2、3、、、n,n个连续的健康数据区块之间的区块哈希码是否相关联, 即所述服务器可以检测所述健康数据区块1与健康数据区块2的区块哈希码是否连续,同理,可以检测所述健康数据区块2与健康数据区块3的区块哈希码是否连续,以此类推,直到检测所述健康数据区块n-1与健康数据区块n的区块哈希码是否连续。
S206:确定所述健康数据区块链的校验成功。
本申请实施例中,服务器如果检测到所述各健康数据区块中相邻健康数据区块间的区块哈希码相关联,则可以确定所述健康数据区块链的校验成功。
S207:确定所述健康数据区块链的完整性校验失败,并确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
本申请实施例中,服务器如果检测到所述各健康数据区块中相邻健康数据区块间的区块哈希码不相关联,则可以确定所述健康数据区块链的校验失败,并在校验失败之后,并确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
在一个实施例中,所述服务器在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,可以获取所述各健康数据区块中相邻健康数据区块间的区块哈希码不关联的多个目标健康数据区块,并检测各目标健康数据区块是否与相邻的其他健康数据区块间的区块哈希码相关联,如果检测结果为否,则确定所述各目标健康数据区块中与相邻的其他健康数据区块间的区块哈希码不关联的目标健康数据区块为被非法篡改的健康数据区块。
例如,假设所述服务器获取到n个连续的健康数据区块,区块标识分别为1、2、3、、、n,如果所述服务器检测所述1、2、3、、、n,n个连续的健康数据区块中健康数据区块2和健康数据区块3之间的区块哈希码不相关联,而健康数据区块1和健康数据区块2之间的区块哈希码相关联,且健康数据区块3与健康数据区块4之间的区块哈希码不相关联,健康数据区块4和健康数据区块5相关联,以此类推,健康数据区块n-1与健康数据区块n之间的区块哈希码相关联,则所述服务器可以确定所述健康数据区块3为被非法篡改的目标健康数据区块。
在一个实施例中,所述健康数据区块包括患者标识,所述服务器在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,可以确定所述被非法篡改的健康数据区块对应的至少一个患者标识,根据所述至少一个患者标识,生成所述健康数据区块被非法篡改的患者标识列表,向所述患者标识列表中的各患者标识对应的终端发送通知消息,以通知所述各患者标识对应的终端健康数据区块被篡改。
例如,假设服务器确定出被非法篡改的健康数据区块为健康数据区块2和健康数据区块3,则所述服务器可以获取所述健康数据区块2的患者标识a和健康数据区块3的患者标识b,根据所述患者标识 a和患者标识b,生成所述健康数据区块被非法篡改的患者标识列表,向所述患者标识列表中的各患者标识对应的终端发送通知消息,以通知所述患者标识a和患者标识b对应的终端健康数据区块被篡改。
在一个实施例中,所述健康数据区块包括区块标识,所述服务器可以确定所述被非法篡改的健康数据区块对应的至少一个区块标识,根据所述至少一个患者标识和所述至少一个区块标识,生成所述健康数据区块被非法篡改的区块标识列表,并向所述患者标识列表中的各患者标识对应的终端发送健康数据区块的获取请求,以使所述各患者标识对应的终端重新上传健康数据区块,将所述各患者标识对应的终端重新上传的所述健康数据区块放入所述健康数据区块链中所述各患者标识对应的区块标识对应的位置。
例如,假设服务器确定出被非法篡改的健康数据区块为健康数据区块2和健康数据区块3,则所述服务器可以获取所述健康数据区块2的患者标识a和区块标识2,以及健康数据区块3的患者标识b和区块标识3,根据所述患者标识a和区块标识2、患者标识b和区块标识3,生成所述健康数据区块被非法篡改的区块标识列表。
在一个实施例中,所述健康数据区块中携带了患者标识,服务器在对所述健康数据区块链的完整性校验失败之后,可以确定所述被非法篡改的目标健康数据区块,并向所述诊疗终端发送提示信息,其中,所述提示信息中携带了患者标识,所述提示信息用于提示所述患者标识对应的目标健康数据区块的健康数据被非法篡改,以使所述诊疗终端可以重新上传所述患者标识对应的目标健康数据区块。通过这种方式可以使诊疗终端重新上传被非法篡改的健康数据区块,补全所述健康数据区块链的健康数据区块,确保所述健康数据区块链中数据的完整性。
例如,假设所述服务器获取到1、2、3、、、n,n个连续的健康数据区块,且所述n个健康数据区块的区块标识对应为1、2、3、、、n,如果所述服务器确定出所述各健康数据区块中被非法篡改的目标健康数据区块为健康数据区块2和健康数据区块3,且所述服务器获取到所述健康数据区块2的患者标识为a,以及获取到所述健康数据区块3的患者标识为b,则所述服务器可以向所述诊疗终端发送提示信息,以提示所述诊疗终端所述患者标识a对应的健康数据区块2和所述患者标识b对应的健康数据区块3被非法篡改,以使所述诊疗终端可以重新上传所述患者标识a对应的健康数据区块2和所述患者标识b对应的健康数据区块3。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块,根据每一个患者标识对应的各健康数据区块的健康数据类型,对各患者的健康数据区块进行分类,按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链,以便提高用户对健康数据区块的查询效率。服务器可以获取健康数据区块链中各 健康数据区块的区块哈希码,并根据预设的检测周期,检测各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联,如果不相关联,则可以确定所述健康数据区块链的完整性校验失败,并确定健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式,可以提高数据的安全性,确保健康数据区块链中数据的完整性。
请参见图3,图3是本申请实施例提供的又一种基于区块链的健康数据校验方法的示意流程图,如图3所示,该方法可以由数据校验设备执行,该数据校验设备的具体解释如前所述,此处不再赘述。本申请实施例与上述图2所述实施例的区别在于,本申请实施例是对所述健康数据区块链中的各健康数据区块进行校验的另一种实施过程进行详细的说明。具体地,本申请实施例的所述方法包括如下步骤。
S301:获取诊疗终端发送的至少一个患者的健康数据区块。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块。其中,所述健康数据区块的解释如前所述,以及所述健康数据的解释如前所述,此处不再赘述。
S302:根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类。
本申请实施例中,服务器可以根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类。具体实施过程及举例说明如前所述,此处不再赘述。
S303:按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。
本申请实施例中,服务器可以按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。具体实施过程及示意性说明如前所述,此处不再赘述。
在一个实施例中,服务器在当获取到第三方发送的健康数据获取请求时,可以获取所述健康数据获取请求携带的加密信息,其中,所述加密信息可以包括加密算法和密钥。在某些实施例中,所述健康数据获取请求可以是针对所述健康数据区块链中所有的健康数据区块的获取请求。在某些实施例中,所述健康数据获取请求中可以携带目标患者标识,以获取所述目标患者标识对应的健康数据区块。在某些实施例中,所述健康数据获取请求中可以携带目标区块标识,以获取所述目标区块标识对应的健康数据区块。在某些实施例中,所述健康数据获取请求中可以携带目标患者标识和目标区块标识,以获取与所述目标患者标识和目标区块标识对应的健康数据区块。
在一个实施例中,所述服务器在接收到第三方发送的健康数据获取请求时,可以获取所述健康数据区块链中各健康数据区块的区块哈希码。在某些实施例中,所述区块哈希码是所述服务器在根据各健康 数据区块生成健康数据区块链之前,根据预设的加密算法对所述健康数据区块进行加密得到的。在某些实施例中,所述预设的加密算法可以是预设的哈希算法如SHA256,本申请实施例对所述预设的加密算法不做具体的限定。
在一个实施例中,所述健康数据获取请求包括身份验证信息,所述服务器在接收到第三方发送的健康数据获取请求之后,对所述健康数据区块链进行完整性校验之前,可以根据所述健康数据获取请求,获取所述身份验证信息,在某些实施例中,所述身份验证信息包括密码、指纹、语音中的任意一种或多种信息。所述服务器可以将所述身份验证信息与预设的身份验证信息进行匹配,如果匹配成功,则触发执行所述对所述健康数据区块链进行完整性校验的步骤。通过这种方式对发送健康数据获取请求的第三方进行身份验证,可以确保第三方的安全性,避免将所述健康数据发送给没有授权的非法用户,进一步确保了所述健康数据的安全性。
S304:根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生成所述各健康数据区块对应的校验哈希码。
本申请实施例中,服务器可以根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生成所述各健康数据区块对应的校验哈希码。
在一个实施例中,所述服务器在获取到第三方发送的健康数据获取请求之后,可以根据所述加密信息中的加密算法和密钥,对所述各健康数据区块进行加密处理,生成所述各健康数据区块的校验哈希码。
例如,假设所述服务器获取到的加密算法为哈希算法SHA256,密钥为xyz,如果所述健康数据区块链包括1、2、3、、、n,n个连续的健康数据区块,则所述服务器可以根据所述哈希算法SHA256和密钥xyz对所述各健康数据区块进行加密处理,生成所述各健康数据区块的校验哈希码。
在一个实施例中,所述健康数据获取请求中携带了目标患者标识和/或目标区块标识,所述服务器可以根据与所述目标患者标识和/或目标区块标识对应的加密信息中的加密算法和密钥,对与所述目标患者标识和/或目标区块标识对应的健康数据区块进行加密处理,生成与所述目标患者标识和/或目标区块标识对应的健康数据区块的校验哈希码。
例如,假设所述健康数据请求中携带的区块标识为2,所述服务器获取到的与所述健康数据区块2对应的加密算法为哈希算法SHA256,密钥为xyz,则所述服务器可以根据所述加密算法SHA256和密钥xyz,对所述健康数据区块2进行加密处理,生成所述健康数据区块2的校验哈希码。
S305:检测所述各健康数据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配,如果匹配,则执行步骤S306,如果不匹配,则执行步骤S307。
本申请实施例中,服务器在获取到各健康数据区块对应的校验哈希码之后,可以检测所述各健康数 据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配,如果匹配,则执行步骤S306,如果不匹配,则执行步骤S307。
S306:确定所述健康数据区块链的完整性校验成功。
本申请实施例中,服务器如果检测到所述各健康数据区块对应的校验哈希码与所述健康数据区块的区块哈希码匹配,则可以确定所述健康数据区块链的完整性校验成功。
在一个实施例中,所述服务器在对所述健康数据区块链进行完整性校验之前,如果获取到第三方发送的健康数据获取请求,则所述服务器可以在确定所述健康数据区块链的校验成功之后,将与所述健康数据获取请求对应的各健康数据区块发送给所述第三方。
S307:确定所述健康数据区块链的完整性校验失败,并确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
本申请实施例中,服务器如果检测到所述各健康数据区块对应的校验哈希码与所述健康数据区块的区块哈希码不匹配,则可以确定所述健康数据区块链的完整性校验失败,并确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
在一个实施例中,所述服务器在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,可以获取所述各健康数据区块中区块哈希码与所述各健康数据区块的校验哈希码不匹配的至少一个目标健康数据区块,确定所述至少一个目标健康数据区块为所述被非法篡改的健康数据区块。
在一个实施例中,如果所述服务器在确定所述健康数据区块链中存在健康数据被非法篡改的健康数据区块之前,获取到了第三方发送的健康数据获取请求,如果服务器确定出所述健康数据区块链中与所述健康数据获取请求对应的健康数据区块被非法篡改,则可以拒绝所述第三方发送的健康数据获取请求,并确定出与所述健康数据获取请求对应的被非法篡改的目标健康数据区块,以向所述第三方发送提示信息,其中,所述提示信息用于提示所述目标健康数据区块的健康数据被非法篡改。通过这种方式,避免将被非法篡改后的健康数据区块发送给第三方。
在一个实施例中,所述服务器在确定出被非法篡改的目标健康数据区块之后,可以向诊疗终端发送提示信息,所述提示信息中携带了所述目标健康数据区块的患者标识和区块标识,以提示所述诊疗终端所述目标健康数据区块被非法篡改,以使所述诊疗终端可以重新上传所述目标健康数据区块。通过这种方式可以使诊疗终端重新上传被非法篡改的目标健康数据区块,确保了所述健康数据区块链中数据的完整性。具体实施例的举例说明如前所述,此处不再赘述。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块,并根据每一个患者标识对应的各健康数据区块的健康数据类型,对各患者的健康数据区块进行分类。服务器可以按照预 设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链。服务器可以根据健康数据区块链中各健康数据区块的加密信息,对各健康数据区块进行加密处理,生成各健康数据区块对应的校验哈希码。如果检测到校验哈希码与区块哈希码不匹配,则可以确定健康数据区块链的完整性校验失败,从而确定健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式,可以确保健康数据区块链中数据的完整性,避免将被非法篡改后的健康数据区块发送给第三方,提高了数据安全性。
本申请实施例还提供了一种数据校验设备,该数据校验设备用于执行前述任一项所述的方法的单元。具体地,参见图4,图4是本申请实施例提供的一种数据校验设备的示意框图。本实施例的数据校验设备包括:获取单元401、分类单元402、生成单元403、校验单元404、第一确定单元405和第二确定单元406。
获取单元401,用于获取诊疗终端发送的至少一个患者的健康数据区块,其中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种;
分类单元402,用于根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;
生成单元403,用于按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;
校验单元404,用于对所述健康数据区块链进行完整性校验;
第一确定单元405,用于如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;
第二确定单元406,用于如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
进一步地,所述健康数据区块包括区块哈希码;所述校验单元404对所述健康数据区块链进行完整性校验时,具体用于:
获取所述健康数据区块链中各健康数据区块的区块哈希码;
根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联;
如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
进一步地,所述第一确定单元405在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
获取所述各健康数据区块中相邻健康数据区块间的区块哈希码不关联的多个目标健康数据区块;
检测各目标健康数据区块是否与相邻的其他健康数据区块间的区块哈希码相关联,所述相邻的其他健康数据区块是在所述健康数据区块链中与所述目标健康数据区块相邻的健康数据区块;
如果检测结果为否,则确定所述各目标健康数据区块中与相邻的其他健康数据区块间的区块哈希码不关联的目标健康数据区块为被非法篡改的健康数据区块。
进一步地,所述健康数据区块包括区块哈希码;所述校验单元404对所述健康数据区块链进行完整性校验时,具体用于:
根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生成所述各健康数据区块对应的校验哈希码;
检测所述各健康数据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配;
如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
进一步地,所述第一确定单元405确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
获取所述各健康数据区块中区块哈希码与所述各健康数据区块的校验哈希码不匹配的至少一个目标健康数据区块;
确定所述至少一个目标健康数据区块为所述被非法篡改的健康数据区块。
进一步地,所述健康数据区块包括患者标识;所述第一确定单元405在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
确定所述被非法篡改的健康数据区块对应的至少一个患者标识;
根据所述至少一个患者标识,生成所述健康数据区块被非法篡改的患者标识列表;
向所述患者标识列表中的各患者标识对应的终端发送通知消息,以通知所述各患者标识对应的终端健康数据区块被篡改。
进一步地,所述健康数据区块包括区块标识,所述第一确定单元405,还用于:
确定所述被非法篡改的健康数据区块对应的至少一个区块标识;
根据所述至少一个患者标识和所述至少一个区块标识,生成所述健康数据区块被非法篡改的区块标识列表;
向所述患者标识列表中的各患者标识对应的终端发送健康数据区块的获取请求,以使所述各患者标识对应的终端重新上传健康数据区块;
将所述各患者标识对应的终端重新上传的所述健康数据区块放入所述健康数据区块链中所述各患者标识对应的区块标识对应的位置。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块,根据每一个患者标识对应的各健康数据区块的健康数据类型,对各患者的健康数据区块进行分类,按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链,对健康数据区块链进行完整性校验,如果校验成功,则确定健康数据区块链中的健康数据区块完整,如果校验失败,则确定健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式,确保了健康数据区块的完整性,提高了健康数据的安全性。
请参见图5,图5是本申请实施例提供的一种服务器的示意框图。如图所示的本实施例中的服务器可以包括:一个或多个处理器501;一个或多个输入设备502,一个或多个输出设备503和存储器504。上述处理器501、输入设备502、输出设备503和存储器504通过总线505连接。存储器504用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行存储器504存储的程序指令。其中,处理器501被配置用于调用所述程序指令执行:
获取诊疗终端发送的至少一个患者的健康数据区块,其中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种;
根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;
按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;
对所述健康数据区块链进行完整性校验;
如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;
如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
进一步地,所述健康数据区块包括区块哈希码,所述处理器501对所述健康数据区块链进行完整性校验时,具体用于:
获取所述健康数据区块链中各健康数据区块的区块哈希码;
根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联;
如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
进一步地,所述处理器501确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
获取所述各健康数据区块中相邻健康数据区块间的区块哈希码不关联的多个目标健康数据区块;
检测各目标健康数据区块是否与相邻的其他健康数据区块间的区块哈希码相关联,所述相邻的其他健康数据区块是在所述健康数据区块链中与所述目标健康数据区块相邻的健康数据区块;
如果检测结果为否,则确定所述各目标健康数据区块中与相邻的其他健康数据区块间的区块哈希码不关联的目标健康数据区块为被非法篡改的健康数据区块。
进一步地,所述健康数据区块包括区块哈希码;所述处理器501对所述健康数据区块链进行完整性校验时,具体用于:
根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生成所述各健康数据区块对应的校验哈希码;
检测所述各健康数据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配;
如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
进一步地,所述处理器501确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
获取所述各健康数据区块中区块哈希码与所述各健康数据区块的校验哈希码不匹配的至少一个目标健康数据区块;
确定所述至少一个目标健康数据区块为所述被非法篡改的健康数据区块。
进一步地,所述健康数据区块包括患者标识,所述处理器501确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
确定所述被非法篡改的健康数据区块对应的至少一个患者标识;
根据所述至少一个患者标识,生成所述健康数据区块被非法篡改的患者标识列表;
向所述患者标识列表中的各患者标识对应的终端发送通知消息,以通知所述各患者标识对应的终端健康数据区块被篡改。
进一步地,所述健康数据区块包括区块标识;所述处理器501还用于:
确定所述被非法篡改的健康数据区块对应的至少一个区块标识;
根据所述至少一个患者标识和所述至少一个区块标识,生成所述健康数据区块被非法篡改的区块标识列表;
向所述患者标识列表中的各患者标识对应的终端发送健康数据区块的获取请求,以使所述各患者标识对应的终端重新上传健康数据区块;
将所述各患者标识对应的终端重新上传的所述健康数据区块放入所述健康数据区块链中所述各患者标识对应的区块标识对应的位置。
本申请实施例中,服务器可以获取诊疗终端发送的至少一个患者的健康数据区块,根据每一个患者标识对应的各健康数据区块的健康数据类型,对各患者的健康数据区块进行分类,按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链,对健康数据区块链进行完整性校验,如果校验成功,则确定健康数据区块链中的健康数据区块完整,如果校验失败,则确定健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。通过这种方式,确保了健康数据区块的完整性,提高了健康数据的安全性。
应当理解,在本申请实施例中,所称处理器501可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备502可以包括触控板、麦克风等,输出设备503可以包括显示器(LCD等)、扬声器等。
该存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器。例如,存储器504还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器501、输入设备502、输出设备503可执行本申请实施例提供的基于区块链的健康数据校验方法的图1、图2或图3所述的方法实施例中所描述的实现方式,也可执行本申请实施例图4所描述的数据校验设备的实现方式或图5所描述的服务器的实现方式,在此不再赘述。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现图1、图2或图3所对应实施例中描述的基于区块链的健康数据校验方法,也可实现本申请图4所对应实施例的数据校验设备或图5所描述的服务器,在此不再赘述。
以上所述,仅为本申请的部分实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (20)

  1. 一种基于区块链的健康数据校验方法,其特征在于,包括:
    获取诊疗终端发送的至少一个患者的健康数据区块,其中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种;
    根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;
    按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;
    对所述健康数据区块链进行完整性校验;
    如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;
    如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
  2. 根据权利要求1所述的方法,其特征在于,所述健康数据区块包括区块哈希码,所述对所述健康数据区块链进行完整性校验,包括:
    获取所述健康数据区块链中各健康数据区块的区块哈希码;
    根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联;
    如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
    如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
  3. 根据权利要求2所述的方法,其特征在于,所述确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还包括:
    获取所述各健康数据区块中相邻健康数据区块间的区块哈希码不关联的多个目标健康数据区块;
    检测各目标健康数据区块是否与相邻的其他健康数据区块间的区块哈希码相关联,所述相邻的其他健康数据区块是在所述健康数据区块链中与所述目标健康数据区块相邻的健康数据区块;
    如果检测结果为否,则确定所述各目标健康数据区块中与相邻的其他健康数据区块间的区块哈希码不关联的目标健康数据区块为被非法篡改的健康数据区块。
  4. 根据权利要求1所述的方法,其特征在于,所述健康数据区块包括区块哈希码;所述对所述健康数据区块链进行完整性校验,包括:
    根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生 成所述各健康数据区块对应的校验哈希码;
    检测所述各健康数据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配;
    如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
    如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
  5. 根据权利要求4所述的方法,其特征在于,所述确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还包括:
    获取所述各健康数据区块中区块哈希码与所述各健康数据区块的校验哈希码不匹配的至少一个目标健康数据区块;
    确定所述至少一个目标健康数据区块为所述被非法篡改的健康数据区块。
  6. 根据权利要求3或5所述的方法,其特征在于,所述健康数据区块包括患者标识,所述确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还包括:
    确定所述被非法篡改的健康数据区块对应的至少一个患者标识;
    根据所述至少一个患者标识,生成所述健康数据区块被非法篡改的患者标识列表;
    向所述患者标识列表中的各患者标识对应的终端发送通知消息,以通知所述各患者标识对应的终端健康数据区块被篡改。
  7. 根据权利要求6所述的方法,其特征在于,所述健康数据区块包括区块标识,所述方法还包括:
    确定所述被非法篡改的健康数据区块对应的至少一个区块标识;
    根据所述至少一个患者标识和所述至少一个区块标识,生成所述健康数据区块被非法篡改的区块标识列表;
    向所述患者标识列表中的各患者标识对应的终端发送健康数据区块的获取请求,以使所述各患者标识对应的终端重新上传健康数据区块;
    将所述各患者标识对应的终端重新上传的所述健康数据区块放入所述健康数据区块链中所述各患者标识对应的区块标识对应的位置。
  8. 一种数据校验设备,其特征在于,包括:
    获取单元,用于获取诊疗终端发送的至少一个患者的健康数据区块,其中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种;
    分类单元,用于根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;
    生成单元,用于按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;
    校验单元,用于对所述健康数据区块链进行完整性校验;
    第一确定单元,用于如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;
    第二确定单元,用于如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
  9. 根据权利要求8所述的设备,其特征在于,所述健康数据区块包括区块哈希码;所述校验单元对所述健康数据区块链进行完整性校验时,具体用于:
    获取所述健康数据区块链中各健康数据区块的区块哈希码;
    根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联;
    如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
    如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
  10. 根据权利要求9所述的设备,其特征在于,所述第一确定单元在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
    获取所述各健康数据区块中相邻健康数据区块间的区块哈希码不关联的多个目标健康数据区块;
    检测各目标健康数据区块是否与相邻的其他健康数据区块间的区块哈希码相关联,所述相邻的其他健康数据区块是在所述健康数据区块链中与所述目标健康数据区块相邻的健康数据区块;
    如果检测结果为否,则确定所述各目标健康数据区块中与相邻的其他健康数据区块间的区块哈希码不关联的目标健康数据区块为被非法篡改的健康数据区块。
  11. 根据权利要求8所述的设备,其特征在于,所述健康数据区块包括区块哈希码;所述校验单元对所述健康数据区块链进行完整性校验时,具体用于:
    根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生成所述各健康数据区块对应的校验哈希码;
    检测所述各健康数据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配;
    如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
    如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
  12. 根据权利要求11所述的设备,其特征在于,所述第一确定单元确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
    获取所述各健康数据区块中区块哈希码与所述各健康数据区块的校验哈希码不匹配的至少一个目 标健康数据区块;
    确定所述至少一个目标健康数据区块为所述被非法篡改的健康数据区块。
  13. 根据权利要求10或12所述的设备,其特征在于,所述健康数据区块包括患者标识;所述第一确定单元在确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
    确定所述被非法篡改的健康数据区块对应的至少一个患者标识;
    根据所述至少一个患者标识,生成所述健康数据区块被非法篡改的患者标识列表;
    向所述患者标识列表中的各患者标识对应的终端发送通知消息,以通知所述各患者标识对应的终端健康数据区块被篡改。
  14. 根据权利要求13所述的设备,其特征在于,所述健康数据区块包括区块标识,所述第一确定单元,还用于:
    确定所述被非法篡改的健康数据区块对应的至少一个区块标识;
    根据所述至少一个患者标识和所述至少一个区块标识,生成所述健康数据区块被非法篡改的区块标识列表;
    向所述患者标识列表中的各患者标识对应的终端发送健康数据区块的获取请求,以使所述各患者标识对应的终端重新上传健康数据区块;
    将所述各患者标识对应的终端重新上传的所述健康数据区块放入所述健康数据区块链中所述各患者标识对应的区块标识对应的位置。
  15. 一种服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行:
    获取诊疗终端发送的至少一个患者的健康数据区块,其中,所述健康数据区块是根据各患者的健康数据类型生成的,所述健康数据区块中包括患者标识和所述患者标识对应的健康数据,所述健康数据包括疾病数据、体检数据、运动数据、生活习惯数据中的任意一种或多种;
    根据每一个患者标识对应的各健康数据区块的健康数据类型,对所述各患者的健康数据区块进行分类;
    按照预设的健康数据类型的先后顺序,对分类后的各患者标识对应的健康数据区块进行排序,并根据排序后的健康数据区块生成健康数据区块链;
    对所述健康数据区块链进行完整性校验;
    如果校验成功,则确定所述健康数据区块链中的健康数据区块完整;
    如果校验失败,则确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块。
  16. 根据权利要求15所述的服务器,其特征在于,所述健康数据区块包括区块哈希码,所述处理器对所述健康数据区块链进行完整性校验时,具体用于:
    获取所述健康数据区块链中各健康数据区块的区块哈希码;
    根据预设的检测周期,检测所述各健康数据区块中相邻健康数据区块间的区块哈希码是否相关联;
    如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
    如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
  17. 根据权利要求16所述的服务器,其特征在于,所述处理器确定所述健康数据区块链中存在健康数据信息被非法篡改的健康数据区块之后,还用于:
    获取所述各健康数据区块中相邻健康数据区块间的区块哈希码不关联的多个目标健康数据区块;
    检测各目标健康数据区块是否与相邻的其他健康数据区块间的区块哈希码相关联,所述相邻的其他健康数据区块是在所述健康数据区块链中与所述目标健康数据区块相邻的健康数据区块;
    如果检测结果为否,则确定所述各目标健康数据区块中与相邻的其他健康数据区块间的区块哈希码不关联的目标健康数据区块为被非法篡改的健康数据区块。
  18. 根据权利要求15所述的服务器,其特征在于,所述健康数据区块包括区块哈希码;所述处理器对所述健康数据区块链进行完整性校验时,具体用于:
    根据所述健康数据区块链中各健康数据区块的加密信息,对所述各健康数据区块进行加密处理,生成所述各健康数据区块对应的校验哈希码;
    检测所述各健康数据区块对应的校验哈希码是否与所述健康数据区块的区块哈希码匹配;
    如果检测结果为是,则确定所述健康数据区块链的完整性校验成功;
    如果检测结果为否,则确定所述健康数据区块链的完整性校验失败。
  19. 根据权利要求15所述的服务器,其特征在于,所述处理器还用于执行权利要求5-7任一项所述的方法。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
PCT/CN2019/095056 2018-11-07 2019-07-08 一种基于区块链的健康数据校验方法、设备及服务器 WO2020093723A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811323291.2A CN109472598A (zh) 2018-11-07 2018-11-07 一种基于区块链的健康数据校验方法、设备及服务器
CN201811323291.2 2018-11-07

Publications (1)

Publication Number Publication Date
WO2020093723A1 true WO2020093723A1 (zh) 2020-05-14

Family

ID=65671800

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/095056 WO2020093723A1 (zh) 2018-11-07 2019-07-08 一种基于区块链的健康数据校验方法、设备及服务器

Country Status (2)

Country Link
CN (1) CN109472598A (zh)
WO (1) WO2020093723A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210127985A1 (en) * 2019-11-02 2021-05-06 West Affum Holdings Corp. Secure Patient Data

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472598A (zh) * 2018-11-07 2019-03-15 平安医疗健康管理股份有限公司 一种基于区块链的健康数据校验方法、设备及服务器
CN110535958B (zh) * 2019-08-30 2022-05-13 腾讯科技(深圳)有限公司 一种健康信息存储方法及相关设备
CN113434550A (zh) * 2019-11-11 2021-09-24 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的聚合计算方法、装置及设备
CN111737763B (zh) * 2020-07-22 2020-12-01 江苏荣泽信息科技股份有限公司 一种对区块链中存储数据升序排序系统
CN115982758A (zh) * 2022-12-14 2023-04-18 北京三月雨文化传播有限责任公司 基于区块链的健康产业数据处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107785073A (zh) * 2017-01-22 2018-03-09 平安医疗健康管理股份有限公司 基于区块链的医疗检查结果共享方法、装置和系统
CN108345685A (zh) * 2018-03-07 2018-07-31 物数(上海)信息科技有限公司 区块链下的多粒度数据处理方法、系统、设备及存储介质
CN108446314A (zh) * 2018-02-07 2018-08-24 平安科技(深圳)有限公司 一种学生信息存储方法、计算机可读存储介质及终端设备
CN109472598A (zh) * 2018-11-07 2019-03-15 平安医疗健康管理股份有限公司 一种基于区块链的健康数据校验方法、设备及服务器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818817A (zh) * 2017-01-22 2018-03-20 平安医疗健康管理股份有限公司 基于区块链的处方续方方法和系统
CN107799163A (zh) * 2017-01-22 2018-03-13 平安医疗健康管理股份有限公司 基于区块链的处方流转方法、装置和系统
CN107580196B (zh) * 2017-07-28 2020-01-21 国创科视科技股份有限公司 一种视频数据共享系统及方法
CN108256353B (zh) * 2018-01-11 2021-01-01 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN108304734A (zh) * 2018-02-05 2018-07-20 成都卓观信息技术有限公司 一种去中心化的健康档案共享方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107785073A (zh) * 2017-01-22 2018-03-09 平安医疗健康管理股份有限公司 基于区块链的医疗检查结果共享方法、装置和系统
CN108446314A (zh) * 2018-02-07 2018-08-24 平安科技(深圳)有限公司 一种学生信息存储方法、计算机可读存储介质及终端设备
CN108345685A (zh) * 2018-03-07 2018-07-31 物数(上海)信息科技有限公司 区块链下的多粒度数据处理方法、系统、设备及存储介质
CN109472598A (zh) * 2018-11-07 2019-03-15 平安医疗健康管理股份有限公司 一种基于区块链的健康数据校验方法、设备及服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210127985A1 (en) * 2019-11-02 2021-05-06 West Affum Holdings Corp. Secure Patient Data

Also Published As

Publication number Publication date
CN109472598A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
WO2020093723A1 (zh) 一种基于区块链的健康数据校验方法、设备及服务器
CN110113167B (zh) 一种智能终端的信息保护方法、系统以及可读存储介质
WO2020093722A1 (zh) 一种基于区块链的处方数据校验方法、设备及服务器
US10135818B2 (en) User biological feature authentication method and system
US9578004B2 (en) Authentication of API-based endpoints
CN111506901A (zh) 基于区块链的数据处理方法、终端及存储介质
CN108805571B (zh) 数据保护方法、平台、区块链节点、系统和存储介质
CN112765684B (zh) 区块链节点终端管理方法、装置、设备及存储介质
Riad et al. Roughdroid: operative scheme for functional android malware detection
US11425165B2 (en) Methods, systems, articles of manufacture and apparatus to reduce spoofing vulnerabilities
CN114444134A (zh) 一种数据使用授权方法、系统及装置
CN113225324A (zh) 区块链匿名账户创建方法、系统、设备及存储介质
CN110443039A (zh) 插件安全性的检测方法、装置以及电子设备
KR20170033788A (ko) 인증을 위한 방법 및 그 장치
CN111586013B (zh) 网络入侵检测方法、装置、节点终端及存储介质
CN110602051B (zh) 基于共识协议的信息处理方法及相关装置
JP4711824B2 (ja) 業務管理者端末、環境管理局端末、ネットワーク事業者端末、業務遂行者端末、業務管理者端末の制御方法、環境管理局端末の制御方法、ネットワーク事業者端末の制御方法および業務遂行者プログラム
TWI546698B (zh) 基於伺服器的登入系統、登入驗證伺服器及其驗證方法
WO2015188728A1 (zh) 移动支付安全的保护方法、装置及云服务器
CN111898101A (zh) 一种应用的安全设备验证方法及装置
CN107995167B (zh) 一种设备识别方法及服务器
CN110232570A (zh) 一种信息监管方法及装置
Nigam et al. PCP framework to expose malware in devices
TWM608662U (zh) 線上交易處理系統
CN115002779B (zh) 基于区块链和安全芯片的伪基站防治方法和系统

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: 19882320

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: 19882320

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 1205A DATED 15/12/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19882320

Country of ref document: EP

Kind code of ref document: A1