CN113553625A - 一种医药数据的记录方法、装置、电子设备及存储介质 - Google Patents
一种医药数据的记录方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113553625A CN113553625A CN202010328001.4A CN202010328001A CN113553625A CN 113553625 A CN113553625 A CN 113553625A CN 202010328001 A CN202010328001 A CN 202010328001A CN 113553625 A CN113553625 A CN 113553625A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- chain
- storing
- process data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 303
- 239000003814 drug Substances 0.000 title claims abstract description 75
- 238000003860 storage Methods 0.000 title claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 234
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000006378 damage Effects 0.000 abstract description 7
- 229940079593 drug Drugs 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 238000013523 data management Methods 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000005304 joining Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000002552 dosage form Substances 0.000 description 1
- 238000003255 drug test Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0008—General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H70/00—ICT specially adapted for the handling or processing of medical references
- G16H70/40—ICT specially adapted for the handling or processing of medical references relating to drugs, e.g. their side effects or intended usage
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Bioethics (AREA)
- Medicinal Chemistry (AREA)
- Pharmacology & Pharmacy (AREA)
- Toxicology (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本申请公开了一种医药数据的记录方法、装置、电子设备及存储介质;该方法包括:响应于第一录入指令,将对象的身份数据存入区块链网络中;响应于第二录入指令,将对象的任一医药环节的过程数据存入区块链网络中;响应于过程数据被访问,生成访问记录存入区块链网络中;其中,区块链网络关联有主链、与主链的各个第一区块一一对应的一级子链,以及与一级子链的各个第二区块一一对应的二级子链;第一区块用于记录不同对象的身份数据;第二区块用于记录同一对象不同医药环节的过程数据;二级子链的第三区块用于记录同一对象同一医药环节的过程数据的访问记录;本申请可提高医药数据的安全性,避免医药数据被恶意篡改或销毁。
Description
技术领域
本申请属于数据存储技术领域,具体涉及一种医药数据的记录方法、装置、电子设备及存储介质。
背景技术
在数据存储技术领域中,数据安全性是衡量数据存储方法优劣的一个十分重要的方面。对于医药数据来说,由于涉及商业机密以及个人隐私等多方面的敏感信息,因此,医药数据相较于其他类型的数据,对数据安全性的要求更高。
然而,相关技术中仅仅通过设置数据访问权限的方式确保医药数据的安全性,一旦访问权限被破解,医药数据将面临被恶意篡改甚至恶意销毁的可能。
发明内容
为了提高医药数据的安全性,避免医药数据被恶意篡改或销毁,本申请提供了一种医药数据的记录方法、装置、电子设备及存储介质。
本申请要解决的技术问题通过以下技术方案实现:
第一方面,本申请提供了一种医药数据的记录方法,所述医药数据为具有数据记录需求的、与医药相关的对象的数据;任一所述对象的全部的医药数据包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及每个所述医药环节的过程数据的访问记录;所述方法包括:
响应于针对任一所述对象的第一录入指令,将所述第一录入指令中携带的该对象的身份数据存入区块链网络中;
响应于针对任一所述对象的第二录入指令,将所述第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入所述区块链网络中;所述第二录入指令中还携带有该对象的身份数据;
响应于任一所述对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入所述区块链网络中;
其中,所述区块链网络关联的区块链包括:主链、与所述主链的各个第一区块一一对应的一级子链,以及与所述一级子链的各个第二区块一一对应的二级子链;所述各个第一区块分别用于记录不同对象的身份数据;所述各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;所述二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。
本申请提供的医药数据的记录方法中,每个对象的医药数据均存储于区块链网络中;该区块链网络关联有三条区块链:主链、与主链的各个第一区块一一对应的一级子链,以及与一级子链的各个第二区块一一对应的二级子链;其中,主链的第一区块用于记录对象的身份数据;一级子链的第二区块用于记录对象所经历的医药环节的过程数据;二级子链的第三区块用于记录过程数据的访问记录。这样,通过对三条区块链的交叉引用,极大地增加了篡改或销毁区块链网络中的医药数据的难度,提高了医药数据的安全性,从而避免了医药数据被恶意篡改或销毁的可能。
在本申请的一个可选实现方式中,所述响应于针对任一所述对象的第一录入指令,将所述第一录入指令中携带的该对象的身份数据存入区块链网络中的步骤,包括:
响应于针对任一所述对象的第一录入指令,根据所述第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值;
将该对象的身份数据存入所述目标哈希值指示的第一区块中。
本申请中,根据对象的身份数据,计算主链中用于存储该对象的身份数据的第一区块的目标哈希值,并将该对象的身份数据存储到该目标哈希值所指示的第一区块中。这样,避免了不同对象的身份数据混杂在同一个第一区块中,便于以第一区块为单位对各个对象的身份数据进行管理。
另外,对第一录入指令进行响应的过程,尤其适用于短时间内给多个对象录入身份数据的应用场景,如给对象建档的场景。
在本申请的一个可选实现方式中,所述将该对象的身份数据存入所述目标哈希值指示的第一区块中的步骤,包括:
在所述主链中不存在所述目标哈希值指示的第一区块时,在所述主链中创建一个新的第一区块,将所述目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入所创建的第一区块中。
本申请中,在主链中已存在目标哈希值指示的第一区块时,说明该对象的身份数据早已存入目标哈希值指示的第一区块中,无需再重复录入;因此,在主链中不存在目标哈希值指示的第一区块时,才会在主链上创建一个新的第一区块,并将该目标哈希值作为所创建的第一区块的哈希值;然后,将对象的身份数据存入所创建的第一区块中。这样,即使用户针对同一对象发出多次第一录入指令,也不会将同一对象的身份数据存到不同的第一区块中。
在本申请的一个可选实现方式中,所述响应于针对任一所述对象的第二录入指令,将所述第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入所述区块链网络中的步骤,包括:
响应于针对任一所述对象的第二录入指令,确定所述主链中,是否存在已存有该对象的身份数据的第一区块;
在存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的过程数据存入所述区块链网络中;
在不存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的身份数据和过程数据均存入所述区块链网络中。
本申请中,对于预先已经通过第一录入指令将身份数据存入主链的对象而言,主链中已经存在已存有该对象的身份数据的第一区块,此时将第二录入指令中携带的过程数据存入区块链网络即可,可以无需重复存储对象的身份数据,减少了执行步骤;而在主链中不存在已存有该对象的身份数据的第一区块时,则将第二录入指令中携带的身份数据和过程数据均存入区块链网络。可见,本申请中,对第二录入指令进行响应的过程可以自动识别对象的身份数据是否已经预先录入完成,即自动识别对象是否已经建档,无需用户手动区分,进而根据识别结果自动完成相应的医药数据的录入,用户体验较高。
在本申请的一种可选实现方式中,所述在存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的过程数据存入所述区块链网络中的步骤,包括:
在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链;
在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块;在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
本申请在对第二录入指令进行响应的过程中,可以自动识别对象是否录入了过程数据,并根据识别结果自动选择创建新的一级子链或在已有的一级子链上创建新的第二区块,无需用户手动参与,用户体验较高。
并且,在创建第二区块时,同时自动创建该第二区块对应的二级子链的第一个第三区块,即自动创建该第二区块对应的二级子链,并在该第三区块中写入刚刚录入到第二区块中的过程数据的第一个访问记录,由此开启过程数据可接受访问的生命周期,使得过程数据的访问记录较为完整。
在本申请的一种可选实现方式中,所述在不存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的身份数据和过程数据均存入所述区块链网络中的步骤,包括:
在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在所述主链上创建一个新的第一区块,并创建该第一区块对应的一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的身份数据存入所创建的第一区块中,并将所述第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
本申请中,对于尚未录入过身份数据的对象而言,可以实现其身份数据、过程数据、以及该过程数据的第一个访问记录的一次性录入。相对于先通过第一录入指令录入身份数据,再通过第二录入指令录入过程数据的医药数据录入方式,效率更高。
在本申请的一种可选实现方式中,所述响应于任一所述对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入所述区块链网络中的步骤,包括:
响应于任一所述对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有所述被访问的过程数据的第二区块;
在所确定的第二区块对应的二级子链中创建一个新的第三区块;
生成所述被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
本申请中,任一对象的任一医药环节的过程数据被访问时,均可生成访问记录存储于二级子链中的一个第三区块中;这样,避免了将多个的访问记录混存于同一第三区块中,便于以第三区块为单位实现对同一对象的同一过程数据的不同访问记录进行管理。
另外,由于访问二级子链中存储的过程数据会访问记录,由此可以对非法访问者形成威慑,进一步提高医药数据的安全性。
在本申请的一种可选实现方式中,每一所述第三区块中的访问记录均是按照默克尔树的形式进行存储的;任一所述第三区块的哈希值通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表所述主链的第k个第一区块存储的身份数据;Dk,p代表所述第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为所述第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
本申请中,对于二级子链上的每个第三区块而言,其哈希值并非同现有技术一样直接根据第三区块内所要存储的原始数据进行哈希计算而得,而是将该第三区块所在二级子链的上一个第三区块的哈希值、该二级子链对应的一级子链的第二区块的哈希值、该一级子链对应的第一区块的哈希值进行求和之后再进行哈希运算得到的。这样,在每一第三区块中的访问记录均是按照默克尔树的形式进行存储的基础上,区块链网络关联的任一区块链的区块上的数据发生变化,均会导致默克尔树的根节点设备的哈希值产生变化,从而实现对整个区块链网络上的医药数据进行快速有效的验证,确保整个区块链网络上的医药数据的安全性。
在本申请的一种可选实现方式中,每一所述对象均具有RFID(Radio FrequencyIdentification,射频识别)标签;针对任一所述对象的第一录入指令和/或第二录入指令为从RFID读写器接收的;
其中,针对该对象的第一录入指令和/或第二录入指令为所述RFID读写器读取该对象的RFID标签时发出的。
本申请中,通过RFID读写器发出第一录入指令和/或第二录入指令,可以方便的实现医药数据的录入,无需用户手动输入对象的医药数据,效率较高。其中,当RFID读写器读取对象的RFID标签时,可以从RFID标签中获得对象的身份数据,从而发出第一录入指令;当RFID读写器读取对象的RFID标签时,可以从RFID标签中获得对象的身份数据以及医药环节的过程数据,从而发出第二录入指令。
第二方面,本申请提供了一种医药数据的记录装置,所述医药数据为具有数据记录需求的、与医药相关的对象的数据;任一所述对象的全部的医药数据包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及每个所述医药环节的过程数据的访问记录;所述装置包括:
第一存储模块,用于响应于针对任一所述对象的第一录入指令,将所述第一录入指令中携带的该对象的身份数据存入区块链网络中;
第二存储模块,用于响应于针对任一所述对象的第二录入指令,将所述第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入所述区块链网络中;所述第二录入指令中还携带有该对象的身份数据;
第三存储模块,用于响应于任一所述对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入所述区块链网络中;
其中,所述区块链网络关联的区块链包括:主链、与所述主链的各个第一区块一一对应的一级子链,以及与所述一级子链的各个第二区块一一对应的二级子链;所述各个第一区块分别用于记录不同对象的身份数据;所述各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;所述二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。
在本申请的一种可选实现方式中,所述第一存储模块,包括:计算子模块和第一存储子模块;
所述计算子模块,用于响应于针对任一所述对象的第一录入指令,根据所述第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值;
所述第一存储子模块,用于将该对象的身份数据存入所述目标哈希值指示的第一区块中。
在本申请的一种可选实现方式中,所述第一存储子模块,具体用于:
在所述主链中不存在所述目标哈希值指示的第一区块时,在所述主链中创建一个新的第一区块,将所述目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入所述目标哈希值指示的第一区块中。
在本申请的一种可选实现方式中,所述第二存储模块包括:第一确定子模块、第二存储子模块和第三存储子模块;
所述第一确定子模块,用于响应于针对任一所述对象的第二录入指令,确定所述主链中,是否存在已存有该对象的身份数据的第一区块;
所述第二存储子模块,用于在存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的过程数据存入所述区块链网络中;
所述第三存储子模块,用于在不存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的身份数据和过程数据均存入所述区块链网络中。
在本申请的一种可选实现方式中,所述第二存储子模块,具体用于:
在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链;
在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块;在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
在本申请的一种可选实现方式中,所述第三存储子模块,具体用于:
在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在所述主链上创建一个新的第一区块,并创建该第一区块对应一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的身份数据存入所创建的第一区块中,并将所述第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
在本申请的一种可选实现方式中,所述第三存储模块包括:第二确定子模块、创建子模块和第四存储子模块;
所述第二确定子模块,用于响应于任一所述对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有所述被访问的过程数据的第二区块;
所述创建子模块,用于在所确定的第二区块对应的二级子链中创建一个新的第三区块;
所述第四存储子模块,用于生成所述被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
在本申请的一种可选实现方式中,每一所述第三区块中的访问记录均是按照默克尔树的形式进行存储的;任一所述第三区块的哈希值通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表所述主链的第k个第一区块存储的身份数据;Dk,p代表所述第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为所述第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
在本申请的一种可选实现方式中,每一所述对象均具有RFID标签;针对任一所述对象的第一录入指令和/或第二录入指令为从RFID读写器接收的;
其中,针对该对象的第一录入指令和/或第二录入指令为所述RFID读写器读取该对象的RFID标签时发出的。
本申请提供的医药数据的记录装置中,每个对象的医药数据均存储于区块链网络中;该区块链网络关联有三条区块链:主链、与主链的各个第一区块一一对应的一级子链,以及与该一级子链的各个第二区块一一对应的二级子链;其中,主链的第一区块用于记录对象的身份数据;一级子链的第二区块用于记录对象所经历的医药环节的过程数据;二级子链的第三区块用于记录过程数据的访问记录。这样,通过对三条区块链的交叉引用,极大地增加了篡改或销毁区块链网络中的医药数据的难度,提高了医药数据的安全性,从而避免了医药数据被恶意篡改或销毁的可能。
第三方面,本申请提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一医药数据的记录方法所述的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一医药数据的记录方法所述的方法步骤。
在本申请的又一方面中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一医药数据的记录方法所述的方法步骤。
以下将结合附图及对本申请做进一步详细说明。
附图说明
图1是本申请实施例提供的一种医药数据的记录方法的流程示意图;
图2是图1所示方法中,区块链网络关联的区块链的对应关系示意图;
图3是示例性示出的医药数据管理客户端的一个界面示意图;
图4是示例性示出的医药数据管理客户端的另一个界面示意图;
图5是示例性示出的医药数据管理客户端的又一个界面示意图;
图6是示例性示出的医药数据管理客户端的再一个界面示意图;
图7是图1所示方法中,步骤S1的子步骤的流程示意图;
图8是图1所示方法中,步骤S2的子步骤的流程示意图;
图9是图8中步骤S22的子步骤的流程示意图;
图10是图8中步骤S23的子步骤的流程示意图;
图11是图1所示方法中,步骤S3的子步骤的流程示意图;
图12是示例性示出的将任一的对象的完整的医药数据录入到区块链网络中的过程示意图;
图13是示例性示出的将任一的对象的完整的医药数据录入到区块链网络中的另一种过程示意图;
图14是本申请实施例提供的一种医药数据的记录装置的结构示意图;
图15是图14所述装置中的第一存储模块的结构示意图;
图16是图14所述装置中的第二存储模块的结构示意图;
图17是图14所述装置中的第三存储模块的结构示意图;
图18是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合具体实施例对本申请做进一步详细的描述,但本申请的实施方式不限于此。
为了提高医药数据的安全性,避免医药数据被恶意篡改或销毁,本申请实施例提供了一种医药数据的记录方法、装置、电子设备及存储介质。其中,本申请实施例提供的医药数据的记录方法的执行主体,可以为一种医药数据的记录装置,该装置可以应用电子设备中。在具体应用中,该电子设备可以为加入区块链网络的节点设备,该节点设备可以是计算机、平板设备或智能终端等等。
首先,对本申请实施例提供的一种医药数据的记录方法进行详细说明。该方法中,医药数据为具有数据记录需求的、与医药相关的对象的数据;任一对象的全部的医药数据包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及该对象所经历每个医药环节的过程数据的访问记录;每个对象的全部的医药数据可以包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及该对象所经历每个医药环节的过程数据的访问记录。举例而言,上述的对象可以是药品、药品受试对象或医疗对象等对象。另外,不同类型的对象所经历的各个医药环节存在不同。示例性的,当对象是药品时,药品所经历的各个医药环节可以包括:药品所经历的各个流通环节。当对象为药品受试对象时,药品受试对象所经历的各个医药环节可以包括:药品受试对象所经历的各个药品实验阶段。当对象为医疗对象时,该医疗对象所经历的各个医药环节可以包括:该医疗对象所经历的各个医疗阶段。另外,对象所经历的任一医药环节中的过程数据,可以是对象在经历该医药环节时所产生的与对象相关的医药数据。关于不同对象所经历的各个医药环节的过程数据,可以参考实际的记录需求而定,本申请实施例对此不做限定。
如图1所示,本申请实施例提供的一种医药数据的记录方法可以包括以下步骤:
S1:响应于针对任一对象的第一录入指令,将该第一录入指令中携带的该对象的身份数据存入区块链网络中。
其中,如图2所示,该区块链网络关联的区块链包括:主链、与主链的各个第一区块一一对应的一级子链,以及与一级子链的各个第二区块一一对应的二级子链;主链的各个第一区块分别用于记录不同对象的身份数据;一级子链的各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。需要说明的是,为了图形简洁,图2中,仅示例性的画出了一个第一区块对应的一级子链,以及一个第二区块对应的二级子链。
在实际应用中,主链、一级子链以及二级子链的对应关系,是通过这些区块链中的区块的哈希值进行关联的。具体的,一级子链的每个第二区块的区块头中,存储有自身的哈希值、对应的第一区块的哈希值、对应的二级子链的第一个第三区块的哈希值;二级子链的每个第三区块的区块头中,存储有自身的哈希值、对应的第二区块的哈希值、对应的第一区块的哈希值。此外,主链的每个第一区块的区块头中,均存储有与其自身前后连接的第一区块的哈希值;一级子链的每个第二区块的区块头中,还存储有与其自身前后连接的第二区块的哈希值;二级子链的每个第三区块的区块头中,还存储有与其自身前后连接的第三区块的哈希值。
需要说明的是,上述的区块链网络并非是指由主链、各个一级子链以及各个二级子链组成的网络,而是由加入区块链网络的节点设备所组成的通信网络,这些节点设备共同维护着上述的主链、各个一级子链以及各个二级子链。
可以理解的是,该第一录入指令具体是实现录入对象的身份数据的指令。在实际应用中,该第一录入指令可以是用户在加入区块链网络的节点设备上安装的医药数据管理客户端中给出的;可以理解的是,这里所说的用户为医药数据管理客户端的用户。该医药数据管理客户端中,可以设有供用户输入对象的身份数据并发出第一录入指令的界面。图3示例性的示出了该医药数据管理客户端中,供用户输入对象的身份数据并发出第一录入指令的界面示意图。如图3所示,“编号”、“名称”以及“类别”均为对象的身份数据,用户在界面中输入这些身份数据后,点击标有“点击录入对象的身份数据”字样的按钮,便可以向节点设备发出第一录入指令,该第一录入指令中,相应的携带有对象的“编号”、“名称”、“类别”。
需要说明的是,对象的身份数据并不限于图3所示界面示意图中列举的三种,能够表征对象身份的任一种数据或能够表征对象身份的任意多种数据的集合,均可以作为对象的身份数据存储于主链的第一区块中。例如,当对象是药品时,药品的身份数据可以仅包括药品编号;或者,药品的身份数据可以包括药品名称、药品组分、药品编号等多种数据组成的数据集合。再比如,当对象是药品受试对象或医疗对象时,对象的身份数据可以包括对象的身份证号码;或者,对象的身份数据可以包括对象的姓名、对象的年龄、对象的性别、对象的联系方式以及对象的居住地址等多种数据组成的数据集合。
在一种可选实现方式中,每个对象都可以具有一RFID标签,每个RFID标签均具有一个UID(Unique Identification,唯一标识);此时,可以通过一个RFID读写器,向加入区块链网络的节点设备发出第一录入指令。具体的,在对象的RFID标签中,可以预先写入对象的身份数据;这样,用户通过RFID读写器读取对象的RFID标签,RFID读写器便可以获得RFID标签内的对象的身份数据,并将获得的身份数据发给加入区块链网络的节点设备,从而向该节点设备发出第一录入指令。在实际应用中,当用户将RFID读写器贴近对象的RFID标签时,RFID读写器便可以读取该RFID标签,从而从该RFID标签中获得对象的身份数据,进而向节点设备发起第一录入指令。或者,该RFID读写器上可以设有一用于发出第一录入指令的按钮,当用户点击该按钮时,RFID读写器读取该RFID标签,从该RFID标签中获得对象的身份数据,从而向节点设备发起第一录入指令。可以理解的是,该实现方式中所说的用户指的是该RFID读写器的用户。另外,通过RFID读写器给节点设备发出第一录入指令时,对象的身份数据中可以包含有对象的RFID标签的UID。
可以理解的是,若药品受试对象或医疗对象是人员对象,通过能够读取人员对象的身份证信息的RFID读写器,便可以向节点设备发出第一录入指令。另外,无论对药品受试对象或医疗对象是人还是动植物,都可以为这些对象配备集成有RFID标签的医药数据记录卡。由此,通过RFID读写器读取医药数据记录卡里集成的RFID标签,便可以向节点设备发起第一录入指令。
在实际应用中,第一录入指令可以是当上述医药数据管理客户端的用户或RFID读写器的用户想要为对象建立医药数据的记录档案时给出的。也就是说,节点设备将第一录入指令中携带的对象的身份数据存入主链的一个第一区块,便实现了为该对象进行建档。这样,当用户想要在短时间内为多个对象建档时,连续地针对多个对象分别给出第一录入指令便可以实现。
S2:响应于针对任一对象的第二录入指令,将第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入区块链网络中。
该第二录入指令中还携带有该对象的身份数据;这里,第二录入指令中携带的该对象的身份数据,可以是作为录入该对象的过程数据时所需的辅助参数携带在第二录入指令中的。
可以理解的是,该第二录入指令具体是实现录入对象的过程数据的指令。与用户给出第一录入指令相似的,该第二录入指令也可以是医药数据管理客户端的用户在医药数据管理客户端中给出的。图4示例性的示出了该医药数据管理客户端中供用户给出第二录入指令的界面的示意图。图4中,对象具体为药品,药品的身份数据包括药品剂型、药品的UID以及药品名称;从图4中还可以了解到,药品当前所在的医药环节具体是药品的零售环节,该零售环节中的过程数据包括药品零售商的信息、药品售出时间以及销售员的信息。
另外,上述的能够供RFID读写器的用户发出第一录入指令的RFID读写器中,还可以设有另一个供用户给出第二录入指令的按钮;用户点击该按钮时,RFID读写器从对象的RFID标签中分别获取对象的身份数据和过程数据,然后,将获取的过程数据作为待录入的医药数据发给节点设备,并将获取的身份数据作为录入过程数据所需的辅助参数发给节点设备。这样,便实现了通过RFID读写器向节点设备发出第二录入指令。
在实际应用中,第二录入指令可以是上述医药数据管理客户端的用户或RFID读写器的用户想要将对象当前所在医药环节中的过程数据进行记录时所给出的。
S3:响应于任一对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入区块链网络中。
其中,对象在医药环节里的过程数据被访问的情况存在多种。示例性的,在加入区块链网络的节点设备中,医药数据管理客户端的用户可以通过该节点设备上安装的医药数据管理客户端访问区块链网络上记录的过程数据。此时,该医药数据管理客户端中可以设有供用户访问对象的过程数据的界面。图5示例性的示出了该医药数据管理客户端中供用户访问对象的过程数据的界面示意图;从图5中可以看到,对象具体为药品,用户在管理客户端中输入了药品的身份数据并选择了药品的医药环节后,点击“开始访问药品的过程数据”按钮,便可以访问药品的过程数据。图6示例性的示出了该医药数据管理客户端中供用户访问对象的过程数据的另一个界面示意图;从图6中可以看到,对象具体是药品受试对象或医疗对象这样的人员对象;用户访问人员对象的过程数据时,由于人员对象的身份数据的数据项较多,故用户在访问人员对象的过程数据时,可以仅使用身份证号码这一能够唯一定位到人员对象身份的数据作为身份关键字,由节点设备根据身份关键字定位对象的身份数据所在的第一区块;同理的,用户也可以在查询框中输入想要查询的过程数据的查询关键字,由节点设备根据该查询关键字定位人员对象的医药环节的过程数据所在的第二区块。
在另一种实现方式中,上述的可以发出第一录入指令和/或第二录入指令的RFID读写器可以集成有触摸屏;此时,RFID读写器的用户也可以通过该触摸屏在该RFID读写器安装的应用软件中向节点设备发起访问对象的过程数据的请求。该应用软件的界面可以参见图5或图6所示的界面。可以理解的是,该RFID读写器与节点设备之间是具有通信连接关系的。
在又一种实现方式中,每个加入区块链网络的节点设备均可以向授权的终端用户提供访问对象的过程数据的服务。这样,终端用户便可以在终端设备里的应用软件中,向节点设备发起访问对象的过程数据的请求。该终端设备里的应用软件的界面也可以参见图5或图6所示的界面。
另外,节点设备生成的访问记录的具体内容存在多种。示例性的,每个访问记录中可以包括被访问的医药环节的过程数据、访问时间、来访地址、以及访问人员信息等等。其中,来访地址可以包括节点设备的网络地址以及向节点设备发起访问请求的终端设备或RFID读写器的网络地址。此外,每个访问记录中还可以包括被访问的过程数据所属对象的身份数据。
可以理解的是,加入区块链网络的每个节点设备均按照步骤S3所示操作来记录对象的过程数据的访问记录。这样,对于任一对象而言,任何用户以任何来访地址访问该对象所经历医药环节的过程数据的访问记录,均可以被记录到区块链网络中。
本申请提供的医药数据的记录方法中,每个对象的医药数据均存储于区块链网络中;该区块链网络关联有三条区块链:主链、与主链的各个第一区块一一对应的一级子链,以及与该一级子链的各个第二区块一一对应的二级子链;其中,主链的第一区块用于记录对象的身份数据;一级子链的第二区块用于记录对象所经历的医药环节的过程数据;二级子链的第三区块用于记录过程数据的访问记录。这样,通过对三条区块链的交叉引用,极大地增加了篡改或销毁区块链网络中的医药数据的难度,提高了医药数据的安全性,从而避免了医药数据被恶意篡改或销毁的可能。
并且,基于图3-图4所示的界面示意图可见,本申请实施例中提供了两种类型的医药数据的记录方式供医药数据管理客户端的用户或RFID读写器的用户在不同的应用场景下选用,用户体验较好。
为了方案清楚,下面将节点设备对第一录入指令、第二录入指令以及对象的过程数据被访问时的具体响应过程进行详细说明。
首先,将节点设备对第一录入指令的具体响应过程进行详细说明。示例性的,如图7所示,节点设备响应于针对任一对象的第一录入指令,将该第一录入指令中携带的该对象的身份数据存入区块链网络中的步骤,可以包括:
S11:响应于针对任一对象的第一录入指令,根据该第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值。
其中,根据第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值,具体是将第一录入指令中携带的该对象的身份数据的字符串作为哈希算法的输入参数,利用哈希算法,计算出用于存储该对象的身份数据的第一区块的目标哈希值。
S12:将该对象的身份数据存入该目标哈希值指示的第一区块中。
这里,将该对象的身份数据存入该目标哈希值指示的第一区块中的具体过程包括两种情况。第一种情况,在主链中不存在该目标哈希值指示的第一区块时,在主链中创建一个新的第一区块,将该目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入所创建的第一区块中。第二种情况,主链中已存在该目标哈希值指示的第一区块,这说明该对象的身份数据已经录入到主链中了,此时可以忽略该第一录入指令,并提示该对象的身份数据已录入过的消息。这样,即使针对同一对象发出多次第一录入指令,也不会将同一对象的身份数据存到不同的第一区块中,便于以第一区块为单位对不同的对象的身份数据进行管理。可以理解的是,对于同一实体的对象而言,若以两组不同的身份数据分别利用第一录入指令录入该对象的身份数据,则这两组身份数据在主链中将被存储于两个不同的第一区块中。也就是说,在主链中,这两组身份数据所属的对象是被视为不同的对象的。
然后,将节点设备对第二录入指令的具体响应过程进行详细说明。如图8所示,节点设备响应于针对任一对象的第二录入指令,将第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入区块链网络中的步骤,可以包括:
S21:响应于针对任一对象的第二录入指令,确定主链中,是否存在已存有该对象的身份数据的第一区块。
可以理解的是,节点设备在对该第二录入指令进行响应之前,用户可能已使用第一录入指令将该对象的身份数据录入到了区块链网络中;因此,当节点设备接收到第二录入指令并对该第二录入执行进行响应时,可以首先确定主链中是否存在已存有该对象的身份数据的第一区块。
另外,节点设备确定主链中是否存在已存有该对象的身份数据的第一区块,具体可以是将第二录入指令中携带的该对象的身份数据的字符串作为哈希算法的输入参数,利用哈希算法,计算出用于存储该对象的身份数据的第一区块的目标哈希值;如果主链中存在哈希值为该目标哈希值的第一区块,则确定主链中存在已存有该对象的身份数据的第一区块;否则,确定主链中不存在已存有该对象的身份数据的第一区块。
S22:在存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的过程数据存入区块链网络中。
S23:在不存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的身份数据和过程数据均存入区块链网络中。
可以理解的是,在主链中已经存在已存有该对象的身份数据的第一区块,此时将第二录入指令中携带的过程数据存入区块链网络即可,无需重复存储对象的身份数据,节省了操作步骤;而在主链中不存在已存有该对象的身份数据的第一区块时,则可以将第二录入指令中携带的身份数据和过程数据均存入区块链网络。其中,第二录入指令中携带的过程数据是原本便要存入区块链网络的医药数据;而第二录入指令中携带的身份数据原本是录入该过程数据时所需的辅助参数;由于在实际应用中,上述医药数据管理客户端的用户或RFID读写器的用户有可能跳过使用第一录入指令为对象建档的步骤,直接使用第二录入指令录入对象的医药环节的过程数据,因此,节点设备此时可以将原本作为辅助参数的身份数据连同过程数据一起录入到区块链网络中。这样,对于任一对象而言,可以无需执行上述的步骤S1,只需多次执行步骤S2,便可以将对象的身份数据以及对象的各个医药环节的过程数据录入到区块链网络中。
基于步骤S21-S23可见,本申请实施例中,对第二录入指令进行响应的过程可以自动识别对象的身份数据是否已经预先录入完成,即自动识别对象是否已经建档,无需用户手动区分,进而根据识别结果自动完成相应的医药数据的录入,用户体验较高。
其中,如图9所示,步骤S22可以具体包括以下几个子步骤:
S221:在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链。
这里,确定第一区块是否对应有一个一级子链的方式,具体可以是确定是否有一个一级子链的第一个第二区块的区块头中记录有该第一区块的哈希值;当有一个一级子链的第一个第二区块的区块头中记录有该第一区块的哈希值时,确定该第一区块已对应有一个一级子链,否则确定该第一区块未对应有一个一级子链。
S222:在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块。
S223:在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块。
S224:将该第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
其中,步骤S222和步骤S223中创建的第二区块的哈希值,可以根据该第二录入指令中携带的过程数据,利用哈希算法计算得到。具体的,将该第二录入指令中携带的过程数据的字符串作为哈希算法的输入参数,计算得到哈希值。同理的,步骤S222和步骤S223中创建的第三区块的哈希值,也可以根据要写入该第三区块的访问记录,利用哈希算法计算得到。
基于步骤S221-S224可见,本申请实施例在对第二录入指令进行响应的过程中,可以自动识别对象是否录入了过程数据,并根据识别结果自动选择创建新的一级子链或在已有的一级子链上创建新的第二区块,无需用户手动参与,用户体验较高。
并且,本申请实施例在创建第二区块时,同时自动创建该第二区块对应的二级子链的第一个第三区块,即自动创建该第二区块对应的二级子链,并在该第三区块中写入刚刚录入到第二区块中的过程数据的第一个访问记录,由此开启过程数据可接受访问的生命周期,使得过程数据的访问记录较为完整。
如图10所示,步骤S23可以具体包括以下几个子步骤:
S231:在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在主链上创建一个新的第一区块,并创建该第一区块对应的一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块。
该步骤中,根据该对象的身份数据,在主链上创建一个新的第一区块,与步骤S21中在主链上创建第一区块的具体实现方式相同;在一级子链上创建第二区块以及在二级子链上创建第三区块的具体实现方式,与步骤S222和步骤S223中的具体实现方式相同,这里均不再赘述。
S232:将该第二录入指令中携带的身份数据存入所创建的第一区块中,并将该第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
可以理解的是,对于尚未录入过身份数据的对象而言,执行步骤S231-S232可以实现其身份数据、过程数据、以及该过程数据的第一个访问记录的一次性录入。相对于先使用第一录入指令录入身份数据,再使用第二录入指令录入过程数据的医药数据录入方式,效率更高。
然后,对节点设备响应于任一对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录的具体响应过程进行详细说明。如图11所示,该过程可以包括以下步骤:
S31:响应于任一对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有被访问的过程数据的第二区块。
可以理解的是,在执行该步骤S31时,对象的身份数据的第一区块所对应的一级子链,以及该一级子链中存有被访问的过程数据的第二区块均已存在于区块链网络中。因此,可以首先确定存有该对象的身份数据的第一区块;然后根据主链、一级子链以及二级子链的对应关系,确定该第一区块对应的一级子链,以及确定该一级子链中存有被访问的过程数据的第二区块。
S32:在所确定的第二区块对应的二级子链中创建一个新的第三区块。
这里,在二级子链中创建第三区块的具体实现方式可以参见步骤S222和步骤S223中的具体实现方式。
S33:生成被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
其中,生成的访问记录的具体内容在描述步骤S3时已经进行过详细说明,这里不再赘述。
本申请实施例中,任一对象的任一医药环节的过程数据被访问时,均可生成访问记录存储于二级子链中的一个第三区块中;这样,避免了将多个的访问记录混存于同一第三区块中,便于以第三区块为单位实现对同一对象的同一过程数据的不同访问记录进行管理。
另外,由于访问二级子链中存储的过程数据会留下访问记录,由此可以对想要非法访问过程数据的用户形成威慑,进一步提高医药数据的安全性。
以上,为节点设备对第一录入指令、第二录入指令以及对象的过程数据被访问时的具体响应过程。
为了方案清楚,下面对将任一对象的全部的医药数据录入到区块链网络的具体过程进行举例说明。
示例1,通过结合使用第一录入指令和第二录入指令,将任一对象的全部的医药数据录入到区块链网络。具体的,如图12所示,对于任一对象而言,将该对象的全部的医药数据录入到区块链网络的具体过程可以包括:
S1201:响应于针对任一对象的第一录入指令,将该第一录入指令中携带的该对象的身份数据存入区块链网络中。
S1202:在该对象经历的每个医药环节中,响应于针对该对象的第二录入指令,将该第二录入指令中携带的该医药环节中的过程数据以及该过程数据的第一个访问记录存入区块链网络中。
S1203:响应于任一对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录,并将生成的访问记录存入区块链网络中。
其中,节点设备执行步骤S1201的具体过程可以参见上述的步骤S11-S12;节点设备执行步骤S1202的具体过程可以参见上述的步骤S221-S224;节点设备执行步骤S1203的具体过程可以参见上述的步骤S31-S33。
示例2,仅使用第二录入指令,将任一对象的全部的医药数据录入到区块链网络。具体的,如图13所示,对于任一对象而言,将该对象的全部的医药数据录入到区块链网络的具体过程可以包括:
S1301:在任一对象经历的第一个医药环节中,响应于针对该对象的第二录入指令,将该第二录入指令中携带的身份数据和过程数据均存入区块链网络中。
S1302:在该对象经历的每个非第一个的医药环节中,响应于针对该对象的第二录入指令,将该第二录入指令中携带的过程数据存入区块链网络中。
其中,节点设备执行步骤S1301的具体过程可以参见上述的步骤S231-S232;节点设备执行步骤S1302的具体过程可以参见上述的步骤S221、S222、S224。
另外,为了进一步提高数据安全性,本申请实施例中,可以采用默克尔树的形式存储每个第三区块中的访问记录;也就是说,将区块链网络中的各个第三区块作为默克尔树的叶子节点。并且,对计算第三区块的哈希值的哈希算法进行改进,以通过默克尔树来确保整个区块链网络中的医药数据的安全性。对哈希算法进行改进后,任一第三区块的哈希值可以通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表主链的第k个第一区块存储的身份数据;Dk,p代表该第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为该第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在的二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,与相关技术中的哈希算法相同,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
基于该改进后的哈希算法可见,区块链网络中的任一区块中存储的医药数据发生变化,均会导致默克尔树的叶子节点发生变化,从而导致默克尔树的根节点的哈希值发生变化;这样,根据默克尔树的根节点的哈希值,就可以及时获知区块链网络中的任一区块中存储的医药数据是否产出现了异常,从而实现对整个区块链网络上的医药数据进行快速有效的验证,确保整个区块链网络的医药数据的安全性。
基于同一发明构思,本申请实施例还提供了一种医药数据的记录装置,医药数据为具有数据记录需求的、与医药相关的对象的数据;任一对象的全部的医药数据包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及该对象所经历每个医药环节的过程数据的访问记录;该装置可以应用电子设备中。在具体应用中,该电子设备可以为加入区块链网络的节点设备,该节点设备可以是计算机、平板设备或智能终端等等。如图14所示,该装置包括:第一存储模块10、第二存储模块20和第三存储模块30。
第一存储模块10,用于响应于针对任一对象的第一录入指令,将该第一录入指令中携带的该对象的身份数据存入区块链网络中。
第二存储模块20,用于响应于针对任一对象的第二录入指令,将该第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入区块链网络中;该第二录入指令中还携带有该对象的身份数据。
第三存储模块30,用于响应于任一对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入区块链网络中。
其中,区块链网络关联的区块链包括:主链、与主链的各个第一区块一一对应的一级子链,以及与一级子链的各个第二区块一一对应的二级子链;主链的各个第一区块分别用于记录不同对象的身份数据;一级子链的各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。
可选地,如图15所示,第一存储模块10包括:计算子模块101和第一存储子模块102。
计算子模块101,用于响应于针对任一对象的第一录入指令,根据第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值。
第一存储子模块102,用于将该对象的身份数据存入目标哈希值指示的第一区块中。
可选地,第一存储子模块102,具体用于:
在主链中不存在目标哈希值指示的第一区块时,在主链中创建一个新的第一区块,将目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入目标哈希值指示的第一区块中。
可选地,如图16所示,第二存储模块20包括:第一确定子模块201、第二存储子模块202和第三存储子模块203。
第一确定子模块201,用于响应于针对任一对象的第二录入指令,确定主链中是否存在已存有该对象的身份数据的第一区块。
第二存储子模块202,用于在存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的过程数据存入区块链网络中。
第三存储子模块203,用于在不存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的身份数据和过程数据均存入区块链网络中。
可选地,第二存储子模块202,具体用于:
(1)在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链。
(2)在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块;在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块。
(3)将第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
可选地,第三存储子模块203,具体用于:
(1)在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在主链上创建一个新的第一区块,并创建该第一区块对应一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块。
(2)将第二录入指令中携带的身份数据存入所创建的第一区块中,并将第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
可选地,如图17所示,第三存储模块30包括:第二确定子模块301、创建子模块302和第四存储子模块304。
第二确定子模块301,用于响应于任一对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有被访问的过程数据的第二区块。
创建子模块302,用于在所确定的第二区块对应的二级子链中创建一个新的第三区块。
第四存储子模块303,用于生成被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
可选地,每一第三区块中的访问记录均是按照默克尔树的形式进行存储的;任一第三区块的哈希值通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表主链的第k个第一区块存储的身份数据;Dk,p代表该第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为该第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
可选地,每一对象均具有RFID标签;针对任一对象的第一录入指令和/或第二录入指令为从RFID读写器接收的。
其中,针对该对象的第一录入指令和/或第二录入指令为RFID读写器读取该对象的RFID标签时发出的。
本申请提供的医药数据的记录装置中,每个对象的医药数据均存储于区块链网络中;该区块链网络关联有三条区块链:主链、与主链的各个第一区块一一对应的一级子链,以及与一级子链的各个第二区块一一对应的二级子链;其中,主链的第一区块用于记录对象的身份数据;一级子链的第二区块用于记录对象所经历的医药环节的过程数据;二级子链的第三区块用于记录过程数据的访问记录。这样,通过对三条区块链的交叉引用,极大地增加了篡改或销毁区块链网络中的医药数据的难度,提高了医药数据的安全性,从而避免了医药数据被恶意篡改或销毁的可能。
并且,在每一第三区块中的访问记录均是按照默克尔树的形式进行存储的基础上,区块链网络关联的任一区块链的区块上的数据发生变化,均会导致默克尔树的根节点设备的哈希值产生变化,从而实现对整个区块链网络上的医药数据进行快速有效的验证,确保整个区块链网络的数据安全性。
本申请实施例还提供了一种电子设备,如图18所示,包括处理器1801、通信接口1802、存储器1803和通信总线1804,其中,处理器1801,通信接口1802,存储器1803通过通信总线1804完成相互间的通信。
存储器1803,用于存放计算机程序。
处理器1801,用于执行存储器1803上所存放的程序时,实现以下方法步骤:
(1)响应于针对任一对象的第一录入指令,将第一录入指令中携带的该对象的身份数据存入区块链网络中。
(2)响应于针对任一对象的第二录入指令,将第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入区块链网络中;第二录入指令中还携带有该对象的身份数据。
(3)响应于任一对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入区块链网络中。
其中,区块链网络关联的区块链包括:主链、与主链的各个第一区块一一对应的一级子链,以及与一级子链的各个第二区块一一对应的二级子链;主链的各个第一区块分别用于记录不同对象的身份数据;一级子链的各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。
可选地,响应于针对任一对象的第一录入指令,将第一录入指令中携带的该对象的身份数据存入区块链网络中的步骤,包括:
(a)响应于针对任一对象的第一录入指令,根据第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值。
(b)将该对象的身份数据存入目标哈希值指示的第一区块中。
可选地,将该对象的身份数据存入目标哈希值指示的第一区块中的步骤,包括:
在主链中不存在目标哈希值指示的第一区块时,在主链中创建一个新的第一区块,将目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入所创建的第一区块中。
可选地,响应于针对任一对象的第二录入指令,将第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入区块链网络中的步骤,包括:
(a)响应于针对任一对象的第二录入指令,确定主链中,是否存在已存有该对象的身份数据的第一区块。
(b)在存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的过程数据存入区块链网络中。
(c)在不存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的身份数据和过程数据均存入区块链网络中。
可选地,在存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的过程数据存入区块链网络中的步骤,包括:
(a)在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链。
(b)在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块;在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块。
(c)将第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
可选地,在不存在已存有该对象的身份数据的第一区块时,将第二录入指令中携带的身份数据和过程数据均存入区块链网络中的步骤,包括:
(a)在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在主链上创建一个新的第一区块,并创建该第一区块对应的一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块。
(b)将第二录入指令中携带的身份数据存入所创建的第一区块中,并将第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
可选地,响应于任一对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入区块链网络中的步骤,包括:
(a)响应于任一对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有被访问的过程数据的第二区块。
(b)在所确定的第二区块对应的二级子链中创建一个新的第三区块。
(c)生成被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
可选地,每一第三区块中的访问记录均是按照默克尔树的形式进行存储的;任一第三区块的哈希值通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表主链的第k个第一区块存储的身份数据;Dk,p代表第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
可选地,每一对象均具有RFID标签;针对任一对象的第一录入指令和/或第二录入指令为从RFID读写器接收的。
其中,针对该对象的第一录入指令和/或第二录入指令为RFID读写器读取该对象的RFID标签时发出的。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供了一种计算机可读存储介质。在该计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现上述任一种医药数据的记录方法所述的方法步骤。
可选地,该计算机可读存储介质可以为非易失性存储器(Non-Volatile Memory,NVM),例如为至少一个磁盘存储器。
可选的,所述计算机可读存储器还可以是至少一个位于远离前述处理器的存储装置。
在本申请的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一种医药数据的记录方法所述的方法步骤。
需要说明的是,对于装置/电子设备/存储介质/计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他子模块可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容是结合具体的优选实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本申请的保护范围。
Claims (20)
1.一种医药数据的记录方法,其特征在于,所述医药数据为具有数据记录需求的、与医药相关的对象的数据;任一所述对象的全部的医药数据包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及每个所述医药环节的过程数据的访问记录;所述方法包括:
响应于针对任一所述对象的第一录入指令,将所述第一录入指令中携带的该对象的身份数据存入区块链网络中;
响应于针对任一所述对象的第二录入指令,将所述第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入所述区块链网络中;所述第二录入指令中还携带有该对象的身份数据;
响应于任一所述对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入所述区块链网络中;
其中,所述区块链网络关联的区块链包括:主链、与所述主链的各个第一区块一一对应的一级子链,以及与所述一级子链的各个第二区块一一对应的二级子链;所述各个第一区块分别用于记录不同对象的身份数据;所述各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;所述二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。
2.根据权利要求1所述的方法,其特征在于,所述响应于针对任一所述对象的第一录入指令,将所述第一录入指令中携带的该对象的身份数据存入区块链网络中的步骤,包括:
响应于针对任一所述对象的第一录入指令,根据所述第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值;
将该对象的身份数据存入所述目标哈希值指示的第一区块中。
3.根据权利要求2所述的方法,其特征在于,所述将该对象的身份数据存入所述目标哈希值指示的第一区块中的步骤,包括:
在所述主链中不存在所述目标哈希值指示的第一区块时,在所述主链中创建一个新的第一区块,将所述目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入所创建的第一区块中。
4.根据权利要求1所述的方法,其特征在于,所述响应于针对任一所述对象的第二录入指令,将所述第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入所述区块链网络中的步骤,包括:
响应于针对任一所述对象的第二录入指令,确定所述主链中,是否存在已存有该对象的身份数据的第一区块;
在存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的过程数据存入所述区块链网络中;
在不存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的身份数据和过程数据均存入所述区块链网络中。
5.根据权利要求4所述的方法,其特征在于,所述在存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的过程数据存入所述区块链网络中的步骤,包括:
在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链;
在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块;在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
6.根据权利要求4所述的方法,其特征在于,所述在不存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的身份数据和过程数据均存入所述区块链网络中的步骤,包括:
在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在所述主链上创建一个新的第一区块,并创建该第一区块对应的一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的身份数据存入所创建的第一区块中,并将所述第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
7.根据权利要求1所述的方法,其特征在于,所述响应于任一所述对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入所述区块链网络中的步骤,包括:
响应于任一所述对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有所述被访问的过程数据的第二区块;
在所确定的第二区块对应的二级子链中创建一个新的第三区块;
生成所述被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
8.根据权利要求1-7任一项所述的方法,其特征在于,每一所述第三区块中的访问记录均是按照默克尔树的形式进行存储的;任一所述第三区块的哈希值通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表所述主链的第k个第一区块存储的身份数据;Dk,p代表所述第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为所述第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
9.根据权利要求1-7任一项所述的方法,其特征在于,每一所述对象均具有RFID标签;针对任一所述对象的第一录入指令和/或第二录入指令为从RFID读写器接收的;
其中,针对该对象的第一录入指令和/或第二录入指令为所述RFID读写器读取该对象的RFID标签时发出的。
10.一种医药数据的记录装置,其特征在于,所述医药数据为具有数据记录需求的、与医药相关的对象的数据;任一所述对象的全部的医药数据包括:该对象的身份数据、该对象所经历的各个医药环节的过程数据,以及每个所述医药环节的过程数据的访问记录;所述装置包括:
第一存储模块,用于响应于针对任一所述对象的第一录入指令,将所述第一录入指令中携带的该对象的身份数据存入区块链网络中;
第二存储模块,用于响应于针对任一所述对象的第二录入指令,将所述第二录入指令中携带的该对象所经历的任一医药环节的过程数据存入所述区块链网络中;所述第二录入指令中还携带有该对象的身份数据;
第三存储模块,用于响应于任一所述对象的任一医药环节的过程数据被访问,生成被访问的过程数据的访问记录存入所述区块链网络中;
其中,所述区块链网络关联的区块链包括:主链、与所述主链的各个第一区块一一对应的一级子链,以及与所述一级子链的各个第二区块一一对应的二级子链;所述各个第一区块分别用于记录不同对象的身份数据;所述各个第二区块分别用于记录同一对象所经历的不同医药环节的过程数据;所述二级子链的各个第三区块分别用于记录同一对象同一医药环节的过程数据的各个访问记录。
11.根据权利要求10所述的装置,其特征在于,所述第一存储模块,包括:计算子模块和第一存储子模块;
所述计算子模块,用于响应于针对任一所述对象的第一录入指令,根据所述第一录入指令中携带的该对象的身份数据,计算用于存储该对象的身份数据的第一区块的目标哈希值;
所述第一存储子模块,用于将该对象的身份数据存入所述目标哈希值指示的第一区块中。
12.根据权利要求11所述的装置,其特征在于,所述第一存储子模块,具体用于:
在所述主链中不存在所述目标哈希值指示的第一区块时,在所述主链中创建一个新的第一区块,将所述目标哈希值作为所创建的第一区块的哈希值,并将该对象的身份数据存入所述目标哈希值指示的第一区块中。
13.根据权利要求10所述的装置,其特征在于,所述第二存储模块包括:第一确定子模块、第二存储子模块和第三存储子模块;
所述第一确定子模块,用于响应于针对任一所述对象的第二录入指令,确定所述主链中,是否存在已存有该对象的身份数据的第一区块;
所述第二存储子模块,用于在存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的过程数据存入所述区块链网络中;
所述第三存储子模块,用于在不存在已存有该对象的身份数据的第一区块时,将所述第二录入指令中携带的身份数据和过程数据均存入所述区块链网络中。
14.根据权利要求13所述的装置,其特征在于,所述第二存储子模块,具体用于:
在存在已存有该对象的身份数据的第一区块时,确定该第一区块是否已对应有一个一级子链;
在已对应有一个一级子链时,在该一级子链上创建一个新的第二区块,并创建该第二区块对应的二级子链的第一个第三区块;在未对应有一个一级子链时,创建该第一区块对应的一级子链的第一个第二区块,并创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的过程数据存入所创建的第二区块中,并在所创建的第三区块中存入该过程数据的第一个访问记录。
15.根据权利要求13所述的装置,其特征在于,所述第三存储子模块,具体用于:
在不存在已存有该对象的身份数据的第一区块时,根据该对象的身份数据,在所述主链上创建一个新的第一区块,并创建该第一区块对应一级子链的第一个第二区块,以及创建该第二区块对应的二级子链的第一个第三区块;
将所述第二录入指令中携带的身份数据存入所创建的第一区块中,并将所述第二录入指令中携带的过程数据存入所创建的第二区块中,以及在所创建的第三区块中存入该过程数据的第一个访问记录。
16.根据权利要求10所述的装置,其特征在于,所述第三存储模块包括:第二确定子模块、创建子模块和第四存储子模块;
所述第二确定子模块,用于响应于任一所述对象的任一医药环节的过程数据被访问,确定存有该对象的身份数据的第一区块所对应的一级子链,并确定该一级子链中存有所述被访问的过程数据的第二区块;
所述创建子模块,用于在所确定的第二区块对应的二级子链中创建一个新的第三区块;
所述第四存储子模块,用于生成所述被访问的过程数据的访问记录,并将生成的访问记录存入所创建的第三区块中。
17.根据权利要求10-16任一项所述的装置,其特征在于,每一所述第三区块中的访问记录均是按照默克尔树的形式进行存储的;任一所述第三区块的哈希值通过下述公式进行计算:
VAL=HASH(HASH(Dk)+HASH(Dk,p)+HASH(Dk,p,q-1)+HASH(Dk,p,q))
其中,Dk代表所述主链的第k个第一区块存储的身份数据;Dk,p代表所述第k个第一区块对应的一级子链的第p个第二区块存储的过程数据;Dk,p,q代表该第三区块存储的访问记录,该第三区块为所述第p个第二区块对应的二级子链的第q个第三区块;Dk,p,q-1代表该第三区块所在二级子链的第q-1个第三区块存储的访问记录;HASH代表哈希运算,VAL为计算得到的该第三区块的哈希值;k和p均为从1开始计数的正整数,q为从2开始计数的正整数。
18.根据权利要求10-16任一项所述的装置,其特征在于,每一所述对象均具有RFID标签;针对任一所述对象的第一录入指令和/或第二录入指令为从RFID读写器接收的;
其中,针对该对象的第一录入指令和/或第二录入指令为所述RFID读写器读取该对象的RFID标签时发出的。
19.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328001.4A CN113553625A (zh) | 2020-04-23 | 2020-04-23 | 一种医药数据的记录方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328001.4A CN113553625A (zh) | 2020-04-23 | 2020-04-23 | 一种医药数据的记录方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553625A true CN113553625A (zh) | 2021-10-26 |
Family
ID=78129452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328001.4A Pending CN113553625A (zh) | 2020-04-23 | 2020-04-23 | 一种医药数据的记录方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553625A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163733A1 (en) * | 2015-12-02 | 2017-06-08 | Olea Networks, Inc. | System and method for data management structure using auditable delta records in a distributed environment |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN108629205A (zh) * | 2018-04-27 | 2018-10-09 | 中国联合网络通信集团有限公司 | 药品质量检测数据的监管方法及装置 |
CN110930167A (zh) * | 2019-11-21 | 2020-03-27 | 山东爱城市网信息技术有限公司 | 一种基于区块链的药品信息记录方法及设备、介质 |
CN111031041A (zh) * | 2019-12-13 | 2020-04-17 | 山东众阳健康科技集团有限公司 | 一种基于区块链的数据上链存储方法、系统、介质及设备 |
-
2020
- 2020-04-23 CN CN202010328001.4A patent/CN113553625A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163733A1 (en) * | 2015-12-02 | 2017-06-08 | Olea Networks, Inc. | System and method for data management structure using auditable delta records in a distributed environment |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN108629205A (zh) * | 2018-04-27 | 2018-10-09 | 中国联合网络通信集团有限公司 | 药品质量检测数据的监管方法及装置 |
CN110930167A (zh) * | 2019-11-21 | 2020-03-27 | 山东爱城市网信息技术有限公司 | 一种基于区块链的药品信息记录方法及设备、介质 |
CN111031041A (zh) * | 2019-12-13 | 2020-04-17 | 山东众阳健康科技集团有限公司 | 一种基于区块链的数据上链存储方法、系统、介质及设备 |
Non-Patent Citations (1)
Title |
---|
顾炳文: "风口区块链", 30 June 2018, 民主与建设出版社, pages: 033 - 036 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11127088B2 (en) | Cross-blockchain interaction method, system, computer device, and storage medium | |
CN112491551B (zh) | 基于区块链的数据验证方法及装置、电子设备 | |
US10348699B2 (en) | Identity binding systems and methods in a personal data store in an online trust system | |
CN106027577B (zh) | 一种异常访问行为检测方法及装置 | |
US20190342096A1 (en) | Online identity and credential verification systems and methods protecting user data | |
CN113574838A (zh) | 通过客户端指纹过滤互联网流量的系统和方法 | |
KR101948721B1 (ko) | 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치 | |
WO2017028630A1 (zh) | 一种验证方法及服务器 | |
EP3791302A1 (en) | Systems and methods for attributing security vulnerabilities to a configuration of a client device | |
CN107943949B (zh) | 一种确定网络爬虫的方法及服务器 | |
TWI838461B (zh) | 用於存取可連鎖紀錄之方法及系統 | |
CN109559257A (zh) | 基于区块链的合同生成方法、装置、设备及可读存储介质 | |
CN111639284A (zh) | 网页标注方法、装置、电子设备及介质 | |
WO2020056996A1 (zh) | 管理捐款信息的方法、装置、计算机设备及存储介质 | |
US11714919B2 (en) | Methods and systems for managing third-party data risk | |
CN107302586A (zh) | 一种Webshell检测方法以及装置、计算机装置、可读存储介质 | |
WO2020108152A1 (zh) | 身份数据的防误用方法及装置、电子设备 | |
Neale et al. | The case for zero trust digital forensics | |
JP6664585B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
WO2020197942A1 (en) | Measuring and increasing the quality of user-provided information | |
CN113764062A (zh) | 一种患者数据信息处理方法、装置、系统和存储介质 | |
CN112511632B (zh) | 基于多源数据的对象推送方法、装置、设备及存储介质 | |
Wang et al. | Identifying personal physiological data risks to the Internet of Everything: the case of facial data breach risks | |
CN113553625A (zh) | 一种医药数据的记录方法、装置、电子设备及存储介质 | |
CN108304563B (zh) | 图片处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |