发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种基于区块链的公共卫生安全管控方法及装置。
第一方面,本申请实施例提供了一种基于区块链的公共卫生安全管控方法,包括:
获取待检测对象的身份信息以及健康检测信息;
根据所述身份信息在各个区块中进行查询,并得到查询结果;
在所述查询结果表征存在与所述身份信息对应的目标区块时,将所述健康检测信息写入所述目标区块;
根据所述健康检测信息以及所述目标区块中的历史健康检测信息,得到所述身份信息对应的第一管控信息。
可选的,如前述的方法,还包括:
在所述查询结果表征不存在与所述身份信息对应的区块时,生成与所述身份信息对应的新生成区块;
将所述健康检测信息写入所述新生成区块中,以建立所述健康检测信息与所述身份信息之间的对应关系。
可选的,如前述的方法,所述根据所述健康检测信息以及所述目标区块中的历史健康检测信息,得到所述身份信息对应的第一管控信息,包括:
当所述健康检测信息表征所述待检测对象的体温信息不在预设的正常体温区间内时,将所述身份信息标记为异常信息;
根据触发条件对智能合约进行触发;所述触发条件包括所述将所述身份信息标记为异常信息;
按照所述智能合约预设的执行逻辑,生成与所述身份信息对应的所述第一管控信息。
可选的,如前述的方法,所述根据所述健康检测信息以及所述目标区块中的历史健康检测信息,得到所述身份信息对应的第一管控信息,还包括:
当所述健康检测信息表征所述待检测对象的体温信息在预设的正常体温区间内,且所述历史健康监测信息均为正常时,在所述目标区块中查询与所述身份信息对应的历史位置信息;
将所述历史位置信息与至少一个重点监测区域进行匹配,得到匹配结果;
在所述匹配结果表征所述历史位置信息中包括至少一个所述重点监测区域时,将所述身份信息标记为异常信息;
根据所述触发条件对所述智能合约进行触发;
按照所述智能合约预设的执行逻辑,生成与所述身份信息对应的所述第一管控信息;
在所述匹配结果表征所述历史位置信息不包括任一个所述重点监测区域时,生成与所述身份信息对应的放行信息。
可选的,如前述的方法,所述获取待检测对象的身份信息以及健康检测信息,包括:
获取所述待检测对象的身份信息;
根据所述身份信息查询所述待检测对象上一次进行健康检测的检测时间;
在所述检测时间与当前时间的时间间隔在预设区间内,且所述检测时间对应的健康检测信息为健康时,生成与所述身份信息对应的放行信息;
在所述检测时间与当前时间的时间间隔超过预设区间时,获取所述待检测对象的所述健康检测信息。
可选的,如前述的方法,还包括:
在根据所述健康检测信息获取所述待检测对象为确诊病例的确诊信息之后,从所述目标区块中获取与所述身份信息对应的目标出行记录信息;
当根据所述目标出行记录信息,在其他区块中查询得到与所述身份信息满足预设相关性条件的相关身份信息时,将所述相关身份信息标记为异常信息;
根据触发条件对预设的智能合约进行触发;所述触发条件包括所述将所述相关身份信息标记为异常信息;
按照所述智能合约预设的执行逻辑,生成与所述相关身份信息对应的第二管控信息。
可选的,如前述的方法,所述根据所述目标出行记录信息,在其他区块中查询得到与所述身份信息满足预设相关性条件的相关身份信息,包括:
确定所述目标出行记录信息中目标出行方式对应的目标出行时间;
根据所述目标出行方式确定在所述目标出行时间所述待检测对象搭乘的交通工具对应的交通工具标识信息;
确定与所述交通工具标识信息对应的交通工具区块;
在所述交通工具区块中,查询得到在所述目标出行时间内乘坐所述交通工具的人员对应的所述相关身份信息。
第二方面,本申请实施例提供了一种基于区块链的公共卫生安全管控装置,包括:
获取模块,用于获取待检测对象的身份信息以及健康检测信息;
查询模块,用于根据所述身份信息在各个区块中进行查询,并得到查询结果;
写入模块,用于在所述查询结果表征存在与所述身份信息对应的目标区块时,将所述健康检测信息写入所述目标区块中;
确定模块,用于根据所述健康检测信息以及所述目标区块中的历史健康检测信息,得到所述身份信息对应的第一管控信息。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的方法步骤。
第四方面,本申请实施例提供了一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前述任一项所述的方法步骤。
本申请实施例提供了一种基于区块链的公共卫生安全管控方法及装置,包括:获取待检测对象的身份信息以及健康检测信息;根据所述身份信息在各个区块中进行查询,并得到查询结果;在所述查询结果表征存在与所述身份信息对应的目标区块时,将所述健康检测信息写入所述目标区块;根据所述健康检测信息以及所述目标区块中的历史健康检测信息,得到所述身份信息对应的管控信息。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过区块链对每个人员的健康检测信息进行存储,可以保障信息公开透明,且可以实时共享至各方,因此,即使存在感染者通过临时手段造成健康的表象时,也可以通过区块链获取感染者的历史健康检测信息进而确定该感染者的真实健康信息,进而可以有效避免因感染者隐瞒真实健康状态而对公共卫生安全造成隐患。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种基于区块链的公共卫生安全管控方法,包括如下所述步骤S1至S4:
步骤S1.获取待检测对象的身份信息以及健康检测信息。
具体的,身份信息可以是用于区分不同的待检测对象的唯一识别信息,可以是:身份证编号、护照等等;且身份信息的采集可以通过刷卡装置或者图像采集装置进行识别得到;健康检测信息可以是通过红外体温计检测得到的人体体温信息,此外,健康检测信息还可以包括检测时间、检测地点等信息,具体的信息种类和类型可以根据实际疾病的种类以及获取信息的要求进行选择。
步骤S2.根据身份信息在各个区块中进行查询,并得到查询结果。
具体的,区块存在于实现本实施例方法的区块链中,可选的,每个区块可以对应于一个身份信息,以便于进行查询。
进一步的,由于在此次进行检测之前,待检测对象可能并未进行过体温检查,因此,查询结果可以是用于表征区块链中存在与身份信息对应的区块,或者区块链中不存在与身份信息对应的区块的信息,可选的,可以通过“存在”和“不存在”用来表征查询结果。
步骤S3.在查询结果表征存在与身份信息对应的目标区块时,将健康检测信息写入目标区块。
具体的,目标区块可以是区块链的所有区块中,与该身份信息对应的区块;将健康检测信息写入目标区块时,为了记录待检测用户的完整数据,一般不会对其之前写入的信息进行覆盖。
并且,在写入目标区块之后,可以通过共识同步到区块链中的其他区块中,以达到数据共享的目的。
步骤S4.根据健康检测信息以及目标区块中的历史健康检测信息,得到身份信息对应的第一管控信息。
具体的,历史健康检测信息为存储于目标区块中的,与待检测用户对应的在此次检测之前进行检测得到的健康检测信息。
管控信息可以是用于指导检测人员对待检测人员进行管控的信息,例如:进行统一隔离、规劝待检测人员居家隔离、护送待检测人员就医、放行等等。此外,管控信息还可以包括报警信息,以在待检测人员为患病人员时,进行直观的提醒。第一管控信息是与身份信息对应的管控信息。
根据健康检测信息以及目标区块中的历史健康检测信息,得到身份信息对应的管控信息,可以是根据健康检测信息以及历史健康检测信息表征的待检测用户的健康状态执行对应的管控策略。
其中一种可选的实现方式可以是:采取key-value形式,将数据入链。身份信息可作为key值,健康检测信息可以是value值,进一步的,value值的第一个节点可以用于存储个人基本信息,包括:姓名、电话和住址等等。每当到达体温测量点时,在扫描身份证并测量体温后,先判断这个key是否存在。如果这个key已经存在,则直接将当前的体温和地址信息入链。如果体温异常,将该key标记为异常,发出报警,流程结束。
如图2所示,在一些实施例中,如前述的方法,还包括如下所述步骤S5和S6:
步骤S5.在查询结果表征不存在与身份信息对应的区块时,生成与身份信息对应的新生成区块。
也就是说,在此之前,区块链中未建立于该身份信息对应的区块,即该身份信息对应的待检测人员是第一次进行健康信息监测;可选的,在上链前,会对身份信息和健康检测信息进行处理以转为区块链对应的数据;区块链可以对上述信息进行存储,然后根据该信息生成对应的区块头,然后将身份信息和健康检测信息写入新生成区块中。一般的,每接收到一个新检测对象的身份信息和健康检测信息之后,便生成与其对应的区块,以保存该对象的身份信息和健康检测信息。
步骤S6.将健康检测信息写入新生成区块中,以建立健康检测信息与身份信息之间的对应关系。
具体的,在将健康检测信息写入新生成区块之后,可以通过共识同步到区块链中的其他区块中,以达到数据共享的目的。
其中一种可选的实现方式可以是:采取key-value形式,将数据入链。身份信息可作为key值,健康检测信息可以是value值,进一步的,value值的第一个节点可以用于存储个人基本信息,包括:姓名、电话和住址等等。如果不存在与该身份信息对应的区块时,先生存与该身份信息对应的区块,再将这对key-value入链,并将当前的地址和体温值存入到这个节点的第二个value值;并且,如果体温正常,可该对象可以正常通行。
如图3所示,在一些实施例中,如前述的方法,所述步骤S4根据健康检测信息以及目标区块中的历史健康检测信息,得到身份信息对应的第一管控信息,包括如下所述步骤S411至S413:
步骤S411.当健康检测信息表征待检测对象的体温信息不在预设的正常体温区间内时,将身份信息标记为异常信息。
具体的,预设的正常体温区间可以根据一般人的正常体温得到,可选的,正常体温区间可以是36℃~37.5℃之间。
因此,当待检测对象的体温信息不在上述正常体温区间内时,则判定该待检测对象的体温是异常的,因此将该身份信息标记为异常信息。
步骤S412.根据触发条件对智能合约进行触发;触发条件包括将身份信息标记为异常信息。
其中,智能合约:是一种旨在以信息化方式传播、验证或执行合同的计算机协议。当某一事件触发就会立即执行。
在此实施例中,触发智能合约的事件即为:将身份信息标记为异常信息;且一般的,在对智能合约进行设置时,可以是,当任一身份信息标记为异常信息时都可以被触发。
步骤S413.按照智能合约预设的执行逻辑,生成与身份信息对应的第一管控信息。
执行逻辑为与该智能合约对应的逻辑,为智能合约被触发之后能够自动执行的操作。
第一管控信息可以包括但不限于:发出警报信息,生成人员隔离信息,人员就医信息等等。
其中一种可选的实现方式是:可以将智能合约上传至实现本实施例方法的区块链,当上述触发条件产生时,自动调用智能合约,执行链码,并生成与身份信息对应的管控信息。
如图4所示,在一些实施例中,如前述的方法,所述步骤S4根据健康检测信息以及目标区块中的历史健康检测信息,得到身份信息对应的第一管控信息,还包括如下所述步骤S421至S426:
步骤S421.当健康检测信息表征待检测对象的体温信息在预设的正常体温区间内,且历史健康监测信息均为正常时,在目标区块中查询与身份信息对应的历史位置信息。
具体的,预设的正常体温区间可以根据一般人的正常体温得到,可选的,正常体温区间可以是36℃~37.5℃之间。
因此,当待检测对象的体温信息在上述正常体温区间内时,则判定该待检测对象的当次测量得到的体温是正常的,历史健康监测信息均为正常可以为:各个历史健康检测信息中的体温信息都在上述正常体温区间内。
目标区块中除了存储有健康检测信息,还可以包括位置信息,该位置信息是对应人员曾经停留过的区域位置,该区域位置的范围可以是:国家、省、市、区/县或者街道小区等等,该区域位置的获取方法可以包括但不限于:主动扫码、检测录入或者定位得到。
历史位置信息,则为在此次检测之前,待检测人员曾经停留过的区域位置。
步骤S422.将历史位置信息与至少一个重点监测区域进行匹配,得到匹配结果。
具体的,重点监测区域可以是诸如:感染某种传染性疾病的人员数量超过预设上限阈值的区域,且重点监测区域是可以随不同区域的实时变化进行调整。
匹配方法可以是将重点监测区域逐个在历史位置信息中进行匹配,以确定历史位置信息中包括的重点监测区域的数量以及名称等信息。
步骤S423.在匹配结果表征历史位置信息中包括至少一个重点监测区域时,将所述身份信息标记为异常信息。
具体的,当在历史位置信息中匹配到至少一个重点监测区域时,说明待检测对象的被感染几率很高,则将其身份信息表一为异常信息。
步骤S424.根据触发条件对智能合约进行触发;触发条件包括将身份信息标记为异常信息。
步骤S425.按照智能合约预设的执行逻辑,生成与身份信息对应的第一管控信息。
具体的,步骤S424及S425可参照前述实施例中步骤S412以及S413中的相关内容,在此不再进行赘述。
步骤S426.在匹配结果表征历史位置信息不包括任一个重点监测区域时,生成与身份信息对应的放行信息。
具体的,当匹配结果表征历史位置信息中不包括任一个重点监测区域时,则说明待检测对象未在重点监测区域停留过,因此其被感染的风险较低,则待检测对象为可以放行,进而生成与身份信息对应的放行信息。
如图5所示,在一些实施例中,如前述的方法,所述步骤S1获取待检测对象的身份信息以及健康检测信息,包括如下所述步骤S11至S14:
步骤S11.获取待检测对象的身份信息。
具体的,身份信息可以是用于区分不同的待检测对象的唯一识别信息,可以是:身份证编号、护照等等;且身份信息的采集可以通过刷卡装置或者图像采集装置进行识别得到。
步骤S12.根据身份信息查询待检测对象上一次进行健康检测的检测时间。
具体的,上一次进行健康检测的检测时间一般与上一次健康检测的历史健康检测信息对应设置,可以按照时序进行查找得到检测时间。
步骤S13.在检测时间与当前时间的时间间隔在预设区间内,且检测时间对应的健康检测信息为健康时,生成与身份信息对应的放行信息。
具体的,预设区间是用于判定是否需要再次进行健康检测的判断条件。可选的,当时间间隔在预设区间内时,则说明上一次健康检测的时间距离当前较短,即使检测也无法得到不同的结果,当且检测时间对应的健康检测信息为健康时,生成与身份信息对应的放行信息。
步骤S14.在检测时间与当前时间的时间间隔超过预设区间时,获取待检测对象的健康检测信息。
具体的,当时间间隔超过预设区间时,则说明上一次健康检测的时间距离当前较长,在该时间间隔内,即使上一次健康检测信息为健康,待检测对象也仍然存在被感染的可能性,因此需要对待检测对象进行健康检测,得到健康检测信息。
通过本实施例中的方法,可以避免短时间内重复性无意义的检测,避免出现浪费人力物力的情况,将检测资源分配至更需检测的人员身上,进而得到更好的防控效果。
如图6所示,在一些实施例中,如前述的方法,还包括如下所述步骤S7至S10:
步骤S7.在根据健康检测信息获取待检测对象为确诊病例的确诊信息之后,从目标区块中获取与身份信息对应的目标出行记录信息。
具体的,确诊信息为用于判定待检测对象患有指定病症的信息;且可以通过核酸检测、抗体检测等方法进行检测得到。对应的,健康检测信息则需要包含上述检测方法对应的检测结果。且相应的健康检测则需要配套相关的检测工具。
出行记录信息可以是用于记录待检测对象在在确诊前的出行情况的信息,且出行记录信息可以包括:出行时间、出行交通工具(例如:飞机、公交车、地铁)等等。且进一步的,还可以根据每种疾病的潜伏期等时间信息,得到对应的追溯时间间隔,然后获取该追溯时间间隔内待检测对象的目标出行记录信息;即:获取与身份信息对应的目标出行记录信息。
步骤S8.当根据目标出行记录信息,在其他区块中查询得到与身份信息满足预设相关性条件的相关身份信息时,将相关身份信息标记为异常信息。
一般的,其他区块为与目标区块在同一区块链中的区块,每个身份信息都对应有出行记录信息。相关性条件为预先设置得到,且用于根据不同人员的出行记录信息,判断不同人员(即:身份信息)的出行是否存在相关性(例如:相同时间乘坐同一辆公交车、相同时间乘坐同一趟火车或地铁等等)的判断条件。
并且,在其他区块中查询得到满足相关性条件的相关身份信息时,则说明相关身份信息对应的人员存在较高的被感染概率,因此,将相关身份信息标记为异常信息。
步骤S9.根据触发条件对预设的智能合约进行触发;触发条件包括将相关身份信息标记为异常信息;
步骤S10.按照智能合约预设的执行逻辑,生成与相关身份信息对应的第二管控信息。
具体的,可选的,相关身份信息对应的对象只是存在被感染的可能性,因此于确诊对象的管控方式可以存在差异,因此,此处的第二管控信息可与前述的第一管控信息存在差异;另一方面,第二管控信息也可与前述的第一管控信息一致;具体设定方式可以根据实际的管控需求进行设定。
此外,步骤S9及S10可参照前述实施例中步骤S412以及S413中的相关内容,在此不再进行赘述。
综上所述,采用本实施例中的方案,可以在锁定某一患者后,通过先查询该区块链中患者的出行史(即:出行记录信息)。再根据出行史查询与该患者存在可能性接触的相关人员。通过智能合约将这些乘客信息标记为:异常。之后可从两方面处理:第一:让工作人员对这些相关人员进行自我隔离。第二:这些相关人员由于在区块链中已被标记为异常,当他们再次出现在一个体温测量点时,系统会立刻发出报警,工作人员可采取强制隔离。
如图7所示,在一些实施例中,如前述的方法,步骤S8根据目标出行记录信息,在其他区块中查询得到与身份信息满足预设相关性条件的相关身份信息,包括如下所述步骤S81至S84:
步骤S81.确定目标出行记录信息中目标出行方式对应的目标出行时间。
具体的,目标出行记录信息中包括的出行方式可以是任意数量,主要与待检测对象的实际出行相关。当待检测对象未出行时,则其对应的目标出行方式不存在;当待检测对象曾经出行时,则其对应的目标出行方式可以存在一种或多种。当存在多种目标出行方式时,则每种目标出行方式都对应有一个目标出行时间。
可选的,目标出行时间可以是通过起始时间与终止时间标记的一个时间段信息。
步骤S82.根据目标出行方式确定在目标出行时间待检测对象搭乘的交通工具对应的交通工具标识信息。
具体的,为了能够准确定位到特定的交通工具,在出行方式中可以包括搭乘的交通工具及其对应的交通工具标识信息(例如:车牌号、车次编号等等),因此可以根据目标出行方式确定在目标出行时间待检测对象搭乘的交通工具对应的交通工具标识信息。
步骤S83.确定与交通工具标识信息对应的交通工具区块。
具体的,为了可以准确定位到每个交通工具上乘坐的乘客,可以建立与每个交通工具(即:交通工具标识信息)对应的交通工具区块。
其中一种可选的实现方式可以是:采取key-value形式存储于区块链中。Key值为国家_交通种类_编号,value值为所有乘坐过的乘客信息及司机信息,且乘客信息及司机信息中可以包括乘客和司机的身份信息以及搭乘时间信息。
步骤S84.在交通工具区块中,查询得到在目标出行时间内乘坐交通工具的人员对应的相关身份信息。
具体的,由于交通工具区块中包括达成人员的身份信息以及搭乘时间信息,因此,可以根据目标出行时间在各个人员的搭乘时间信息中进行匹配。一般的,可以通过判断搭乘时间信息与目标出行时间是否存在相同的时间点,判断相关人员(即:相关身份信息对应的人员)是否在目标出行时间内乘坐交通工具。
如图8所示,根据本申请另一方面的一个实施例,本申请还提供了一种基于区块链的公共卫生安全管控装置,包括:
获取模块1,用于获取待检测对象的身份信息以及健康检测信息;
查询模块2,用于根据身份信息在各个区块中进行查询,并得到查询结果;
写入模块3,用于在查询结果表征存在与身份信息对应的目标区块时,将健康检测信息写入目标区块中;
确定模块4,用于根据健康检测信息以及目标区块中的历史健康检测信息,得到身份信息对应的第一管控信息。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。