一种基于区块链的传染病密切接触者确定方法及区块链节点
技术领域
本申请属于通信技术领域,具体涉及一种基于区块链的传染病密切接触者确定方法、运营商节点、公共交通工具的系统节点及指挥部节点。
背景技术
对于没有乘坐航班、火车等有乘客信息的公共交通工具的流动人员,现有技术的缺点是没有办法对流动人员是否去过一个有确诊患者的地方进行判断,由于人员流动性大,采用传统方法,只能根据用户的居住地点、办公地点来判断患者的密切接触者,无法对流动人员进行是否为患者的密切接触者的排查和确认。
发明内容
本申请针对对于没有乘坐航班、火车等有乘客信息的公共交通工具的流动人员,现有技术的缺点是没有办法对流动人员是否去过一个有确诊患者的地方进行判断,由于人员流动性大,采用传统方法,只能根据用户的居住地点、办公地点来判断患者的密切接触者,无法对流动人员进行是否为患者的密切接触者的排查和确认的问题,提供一种基于区块链的传染病密切接触者确定方法、运营商节点、公共交通工具的系统节点及指挥部节点。
作为本申请的第一个方面,提供一种基于区块链的传染病密切接触者确定方法、运营商节点、公共交通工具的系统节点及指挥部节点,包括:
接收区块链中指挥部节点广播的第一广播消息,并获取所述第一广播消息中患者的个人信息,所述患者的个人信息至少包括终端号码;
若所述终端号码属于本运营商节点,则根据所述终端号码确定所述患者的行程轨迹,并根据所述行程轨迹、所述患者的个人信息和预设阈值确定所述患者的第一密切接触者的个人信息;
在区块链中广播第二广播消息,所述第二广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第一密切接触者的个人信息。
优选地,所述根据所述行程轨迹、所述患者的个人信息和预设阈值确定所述患者的第一密切接触者的个人信息,包括:
根据所述行程轨迹中的位置信息确定所述行程轨迹上的所有基站;
确定在所述行程轨迹中的时间点连接到各所述基站的属于本运营商节点的用户;
确定与所述患者之间距离小于预设阈值的用户的个人信息,作为所述患者的第一密切接触者的个人信息。
优选地,所述方法还包括:
若所述终端号码不属于本运营商节点,则接收区块链中其他运营商节点广播的第二广播消息,获取所述第二广播消息中的所述患者的行程轨迹;
根据所述行程轨迹中的位置信息确定所述行程轨迹上的所有基站;
确定在所述行程轨迹中的时间点连接到各所述基站的属于本运营商节点的用户;
确定与所述患者之间距离小于预设阈值的用户的个人信息,作为所述患者的第二密切接触者的个人信息;
在区块链中广播第三广播消息,所述第三广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第二密切接触者的个人信息。
作为本申请的第二个方面,提供一种基于区块链的传染病密切接触者确定方法,包括:
接收区块链中指挥部节点广播的第一广播消息;
获取所述第一广播消息中的患者的个人信息;
若根据所述患者的个人信息确定所述患者乘坐过本节点对应的公共交通工具,则获取所述患者座位周边乘客的个人信息,作为所述患者的第三密切接触者的个人信息;
在区块链中广播第四广播消息,所述第四广播消息包括本节点对应的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
作为本申请的第三个方面,提供一种基于区块链的传染病密切接触者确定方法,包括:
若传染病患者确诊,则广播携带所述患者的个人信息的第一广播消息,所述个人信息至少包括终端号码;
接收第一运营商节点广播的第二广播消息,获取其中的所述患者的第一密切接触者的个人信息;
接收第二运营商节点广播的第三广播消息,获取其中的所述患者的第二密切接触者的个人信息;
接收公共交通工具的系统节点广播的第四广播消息,获取其中的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
作为本申请的第四个方面,提供一种运营商节点,包括:
第一接收模块,用于接收区块链中指挥部节点广播的第一广播消息;
第一获取模块,用于获取所述第一广播消息中患者的个人信息,所述患者的个人信息至少包括终端号码;
第一确定模块,用于若所述终端号码属于本运营商节点,则根据所述终端号码确定所述患者的行程轨迹,并根据所述行程轨迹、所述患者的个人信息和预设阈值确定所述患者的第一密切接触者的个人信息;
第一广播模块,用于在区块链中广播第二广播消息,所述第二广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第一密切接触者的个人信息。
优选地,所述第一确定模块,具体用于:
根据所述行程轨迹中的位置信息确定所述行程轨迹上的所有基站;
确定在所述行程轨迹中的时间点连接到各所述基站的属于本运营商节点的用户;
确定与所述患者之间距离小于预设阈值的用户的个人信息,作为所述患者的第一密切接触者的个人信息。
优选地,还包括:
第二接收模块,用于若所述终端号码不属于本运营商节点,则接收区块链中其他运营商节点广播的第二广播消息;
第二获取模块,用于获取所述第二广播消息中的所述患者的行程轨迹;
第二确定模块,用于根据所述行程轨迹中的位置信息确定所述行程轨迹上的所有基站;
第三确定模块,用于确定在所述行程轨迹中的时间点连接到各所述基站的属于本运营商节点的用户;
第四确定模块,用于确定与所述患者之间距离小于预设阈值的用户的个人信息,作为所述患者的第二密切接触者的个人信息;
第二广播模块,用于在区块链中广播第三广播消息,所述第三广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第二密切接触者的个人信息。
作为本申请的第五个方面,提供一种公共交通工具的系统节点,包括:
接收模块,用于接收区块链中指挥部节点广播的第一广播消息;
获取模块,用于获取所述第一广播消息中的患者的个人信息;
确定模块,用于若根据所述患者的个人信息确定所述患者乘坐过本节点对应的公共交通工具,则获取所述患者座位周边乘客的个人信息,作为所述患者的第三密切接触者的个人信息;
广播模块,用于在区块链中广播第四广播消息,所述第四广播消息包括本节点对应的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
作为本申请的第六个方面,提供一种指挥部节点,包括:
广播模块,用于若传染病患者确诊,则广播携带所述患者的个人信息的第一广播消息,所述个人信息至少包括终端号码;
第一获取模块,用于接收第一运营商节点广播的第二广播消息,获取其中的所述患者的第一密切接触者的个人信息;
第二获取模块,用于接收第二运营商节点广播的第三广播消息,获取其中的所述患者的第二密切接触者的个人信息;
第三获取模块,用于接收公共交通工具的系统节点广播的第四广播消息,获取其中的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
本申请中,运营商节点接收区块链中指挥部节点广播的第一广播消息,并获取第一广播消息中患者的个人信息,患者的个人信息至少包括终端号码;若终端号码属于本运营商节点,则根据终端号码确定患者的行程轨迹,并根据行程轨迹、患者的个人信息和预设阈值确定患者的第一密切接触者的个人信息;在区块链中广播第二广播消息,第二广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第一密切接触者的个人信息。针对没有乘坐航班、火车等有乘客信息的公共交通工具的流动人员,可以对流动人员是否去过一个有患者的地方进行判断,对流动人员进行是否为患者的密切接触者的排查和确认。
附图说明
图1为本申请第一实施例提供的一种基于区块链的传染病密切接触者确定方法的流程图;
图2为本申请第二实施例提供的一种基于区块链的传染病密切接触者确定方法的流程图;
图3为本申请第三实施例提供的一种基于区块链的传染病密切接触者确定方法的流程图;
图4为本申请第四实施例提供的一种运营商节点的结构示意图;
图5为本申请第五实施例提供的一种公共交通工具的系统节点的结构示意图;
图6为本申请第六实施例提供的一种指挥部节点的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
本申请提供一种基于区块链的传染病密切接触者确定方法、运营商节点、公共交通工具的系统节点及指挥部节点。以下分别结合本申请提供的实施例的附图逐一进行详细说明。
为了方便理解,先对本申请中区块链节点进行简单介绍。本申请中的区块链节点包括三种,运营商节点、公共交通工具的系统节点和指挥部节点,运营商节点包括第一运营商节点和第二运营商节点,公共交通工具的系统节点包括民航系统节点、铁路系统节点、长途客车系统节点和客轮系统节点。当指挥部节点确诊了一个传染病患者后,将携带该患者的个人信息的第一广播消息广播到区块链中,区块链中的运营商节点和公共交通工具的系统节点分别接收该第一广播消息之后,确定该患者的密切接触者,并分别将该患者的密切接触者的个人信息广播到区块链中。指挥部节点接收区块链中广播的该患者的密切接触者的个人信息之后,对应的指挥部可以对患者的密切接触者采取隔离措施,进行观察。
作为本申请的第一个实施例,提供一种基于区块链的传染病密切接触者确定方法。本申请实施例的执行主体为运营商节点。如图1所示,所述基于区块链的传染病密切接触者确定方法包括以下步骤。
步骤101,接收区块链中指挥部节点广播的第一广播消息。
在该步骤之前,当指挥部节点确诊一个传染病患者之后,需要对该患者的密切接触者进行跟踪观察,首先将该患者的个人信息使用广播消息的方式广播到区块链中,即广播第一广播消息。
在该步骤中,区块链中的第一运营商节点(例如,移动)接收区块链中广播的第一广播消息。
步骤102,获取第一广播消息中患者的个人信息。
在该步骤中,在私钥签名通过之后,第一运营商节点获取第一广播消息中的个人信息,所述患者的个人信息至少包括终端号码。优选地,所述患者的个人信息还包括患者的姓名、身份证信息等。
步骤103,若终端号码属于本运营商节点,则根据终端号码确定患者的行程轨迹,并根据行程轨迹、患者的个人信息和预设阈值确定患者的第一密切接触者的个人信息。
在该步骤中,第一运营商节点收到该第一广播信息后,进行判断,如果是属于本第一运营商的用户,那么第一运营商节点调用第一运营商的大数据系统,根据该患者的终端号码确定患者的行程轨迹。即对该患者最近一段时间的行程轨迹进行画像,给出该患者用户的行程轨迹图。该患者的行程轨迹,包括时间点和每个时间点的位置信息。同时根据行程轨迹、患者的个人信息和预设阈值确定患者的第一密切接触者的个人信息,此处获取的患者的第一密切接触者与该患者属于一个运营商,例如,都是移动用户。
步骤104,在区块链中广播第二广播消息。
在该步骤中,采用第一运营商节点的私钥签名后,在区块链中广播第二广播消息。第二广播消息包括患者的行程轨迹、患者的个人信息、本运营商节点的运营商标识(即第一运营商节点的标识)和患者的第一密切接触者的个人信息。
本申请实施例中,运营商节点接收区块链中指挥部节点广播的第一广播消息,并获取第一广播消息中患者的个人信息,患者的个人信息至少包括终端号码;若终端号码属于本运营商节点,则根据终端号码确定患者的行程轨迹,并根据行程轨迹、患者的个人信息和预设阈值确定患者的第一密切接触者的个人信息;在区块链中广播第二广播消息,第二广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第一密切接触者的个人信息。针对没有乘坐航班、火车等有乘客信息的公共交通工具的流动人员,可以对流动人员是否去过一个有确诊患者的地方进行判断,对流动人员进行是否为患者的密切接触者的排查和确认。
在一些实施例中,所述根据行程轨迹、患者的个人信息和预设阈值确定患者的第一密切接触者的个人信息(即步骤S103),包括:根据行程轨迹中的位置信息确定行程轨迹上的所有基站;确定在行程轨迹中的时间点连接到各基站的属于本运营商节点的用户;确定与患者之间距离小于预设阈值的用户的个人信息,作为患者的第一密切接触者的个人信息。
在该步骤中,该患者的行程轨迹,包括时间点和每个时间点的位置信息。根据行程轨迹中的位置信息将该患者的行程轨迹上的所有基站逐一标注出来,通过所有基站,第一运营商节点可以确定某个时间点注册在该基站的属于本第一运营商的用户,第一运营商将每个时间点与该患者之间距离小于预设距离(例如,1米或2米)的用户标注出来,并将其标记为第一密切接触者,并确定第一密切接触者的个人信息。
在一些实施例中,所述基于区块链的传染病密切接触者确定方法还包括:若终端号码不属于本运营商节点,则接收区块链中其他运营商节点广播的第二广播消息,获取第二广播消息中的患者的行程轨迹;根据行程轨迹中的位置信息确定行程轨迹上的所有基站;确定在行程轨迹中的时间点连接到各基站的属于本运营商节点的用户;确定与患者之间距离小于预设阈值的用户的个人信息,作为患者的第二密切接触者的个人信息;在区块链中广播第三广播消息。
在该步骤中,第二运营商节点收到区块链中第一运营商广播的第二广播信息后,私钥签名验证通过之后,将其中的患者的行程轨迹和终端号码解密,将患者的时间点和对应的经纬度信息提取出来,并判断该终端号码是否属于第二运营商(例如,联通或电信),如果不是属于本第二运营商的用户,即为第一运营商的号码(例如,移动号码)。则第二运营商节点根据上述信息,通过自己的大数据系统,将该时间点内,确定某个时间点注册在该基站的属于本第二运营商的用户,第二运营商节点将每个时间点与该患者之间距离小于预设距离 (例如,1米或2米)的用户标注出来,并将其标记为患者的第二密切接触者,并确定患者的第二密切接触者的个人信息。采用第二运营商的私钥签名后,广播第三广播消息,第三广播消息包括患者的行程轨迹、患者的个人信息、本运营商节点的运营商标识(即第二运营商节点的标识)和患者的第二密切接触者的个人信息。
需要说明的是,本申请实施例中针对乘客
作为本申请的第二个实施例,提供一种基于区块链的传染病密切接触者确定方法,本申请实施例的执行主体为公共交通工具的系统节点,包括民航系统节点、铁路系统节点、长途客车系统节点和客轮系统节点。如图2所示,所述基于区块链的传染病密切接触者确定方法包括以下步骤。
步骤S201,接收区块链中指挥部节点广播的第一广播消息。
在该步骤中,民航系统节点或铁路系统节点或长途客车系统节点或客轮系统节点从区块链中接收指挥部节点广播的第一广播消息,进行私钥验证签名。
步骤S202,获取第一广播消息中的患者的个人信息。
在该步骤中,民航系统节点或铁路系统节点或长途客车系统节点或客轮系统节点私钥验证签名通过后,获取第一广播消息中的个人信息。
步骤S203,若根据患者的个人信息确定患者乘坐过本节点对应的公共交通工具,则获取患者座位周边乘客的个人信息,作为患者的第三密切接触者的个人信息。
在该步骤中,民航系统节点或铁路系统节点或长途客车系统节点或客轮系统节点根据患者的个人信息(例如,患者姓名)确定患者是否乘坐过本节点对应的公共交通工具,即是否乘坐过本节点对应的飞机或火车或长途客车或客轮,如果乘坐过,则获取患者座位周边乘客的个人信息,作为患者的第三密切接触者的个人信息。
步骤S204,在区块链中广播第四广播消息。
在该步骤中,民航系统节点或铁路系统节点或长途客车系统节点或客轮系统节点在区块链中广播第四广播消息,第四广播消息包括本节点对应的公共交通工具的班次(即飞机的航班或火车的车次或长途客车的车次或客轮的班次)和患者的第三密切接触者的个人信息。
本申请实施例中,针对乘坐公共交通工具的流动人员,有可能出现用户的情况出现,导致用户的位置信息难以确定,因此通过区块链中的公共交通工具的系统节点根据患者的个人信息确定患者乘坐过本节点对应的公共交通工具,则获取患者座位周边乘客的个人信息,作为患者的第三密切接触者的个人信息。得到更完备的密切接触者的个人信息,从而有助于传染病的指挥部更快确定密切接触者,进而采取相应的隔离、观察措施。
作为本申请的第三个实施例,提供一种基于区块链的传染病密切接触者确定方法。本申请实施例的执行主体为指挥部节点,如图3 所示,所述基于区块链的传染病密切接触者确定方法包括以下步骤。
步骤S301,若传染病患者确诊,则广播携带患者的个人信息的第一广播消息。
在该步骤中,当指挥部节点确诊一个传染病患者之后,需要对该患者的密切接触者进行跟踪观察,首先将该患者的个人信息使用广播消息的方式广播到区块链中,即广播第一广播消息。所述患者的个人信息至少包括终端号码。优选地,所述患者的个人信息还包括患者的姓名、身份证信息等。
步骤S302,接收第一运营商节点广播的第二广播消息,获取其中的所述患者的第一密切接触者的个人信息。
步骤S303,接收第二运营商节点广播的第三广播消息,获取其中的所述患者的第二密切接触者的个人信息。
步骤S304,接收公共交通工具的系统节点广播的第四广播消息,获取其中的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
在步骤S302-步骤S304中,指挥部节点接收第一运营商节点广播的第二广播消息和第二运营商节点广播的第三广播消息,接收公共交通工具的系统节点广播的第四广播消息,并分别从中获取所述患者的第一密切接触者的个人信息、第二密切接触者的个人信息和第三密切接触者的个人信息。本指挥部节点对应的指挥部对相应的密切接触者采取隔离措施,进行观察。
本申请实施例中,指挥部节点通过获取运营商节点和公共交通工具的系统节点广播的密切接触者的个人信息,获取的密切接触者的个人信息更完备,提高流动人员是否为传染病患者的密切接触者的准确率,从而有助于指挥部对传染病患者的密切接触者进行优先观察,采取隔离等措施,尽快确诊。减少了医疗机构的工作量,提高医疗机构的效率。
需要说明的是,卫健委系统节点也可以作为区块链中的节点。卫健委系统节点从区块链中收到第一广播信息后,私钥签名验证通过之后,获得患者的个人信息,根据患者的个人信息(姓名)判断该患者是否去过医院就诊,如果是,则从卫健委系统中获取该患者的就诊信息,给出该患者的就诊时间、就诊医院等信息,并将该就诊时间、就诊医院等信息私钥签名后广播到区块链中。
作为本申请的第四个实施例,提供一种运营商节点,如图4所示,所述运营商节点包括第一接收模块11,第一获取模块12、第一确定模块13和第一广播模块14。本申请所提供的运营商节点用于执行本申请的第一个实施例所提供的基于区块链的传染病密切接触者确定方法。具体如下:
第一接收模块11,用于接收区块链中指挥部节点广播的第一广播消息。
第一获取模块12,用于获取所述第一广播消息中患者的个人信息,所述患者的个人信息至少包括终端号码。
第一确定模块13,用于若所述终端号码属于本运营商节点,则根据所述终端号码确定所述患者的行程轨迹,并根据所述行程轨迹、所述患者的个人信息和预设阈值确定所述患者的第一密切接触者的个人信息。
第一广播模块14,用于在区块链中广播第二广播消息,所述第二广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第一密切接触者的个人信息。
优选地,所述第一确定模块13,具体用于:
根据所述行程轨迹中的位置信息确定所述行程轨迹上的所有基站。
确定在所述行程轨迹中的时间点连接到各所述基站的属于本运营商节点的用户。
确定与所述患者之间距离小于预设阈值的用户的个人信息,作为所述患者的第一密切接触者的个人信息。
优选地,还包括:
第二接收模块,用于若所述终端号码不属于本运营商节点,则接收区块链中其他运营商节点广播的第二广播消息。
第二获取模块,用于获取所述第二广播消息中的所述患者的行程轨迹。
第二确定模块,用于根据所述行程轨迹中的位置信息确定所述行程轨迹上的所有基站。
第三确定模块,用于确定在所述行程轨迹中的时间点连接到各所述基站的属于本运营商节点的用户。
第四确定模块,用于确定与所述患者之间距离小于预设阈值的用户的个人信息,作为所述患者的第二密切接触者的个人信息。
第二广播模块,用于在区块链中广播第三广播消息,所述第三广播消息包括所述患者的行程轨迹、所述患者的个人信息、本运营商节点的运营商标识和所述患者的第二密切接触者的个人信息。
作为本申请的第五个实施例,提供一种公共交通工具的系统节点,如图5所示,所述公共交通工具的系统节点包括接收模块21,获取模块22、确定模块23和广播模块24。本申请所提供的公共交通工具的系统节点用于执行本申请的第二个实施例所提供的基于区块链的传染病密切接触者确定方法。具体如下:
接收模块21,用于接收区块链中指挥部节点广播的第一广播消息。
获取模块22,用于获取所述第一广播消息中的患者的个人信息。
确定模块23,用于若根据所述患者的个人信息确定所述患者乘坐过本节点对应的公共交通工具,则获取所述患者座位周边乘客的个人信息,作为所述患者的第三密切接触者的个人信息。
广播模块24,用于在区块链中广播第四广播消息,所述第四广播消息包括本节点对应的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
作为本申请的第六个实施例,提供一种指挥部节点,如图6所示,所述指挥部节点包括广播模块31,第一获取模块32、第二获取模块33和第三获取模块34。本申请所提供的公共交通工具的系统节点用于执行本申请的第三个实施例所提供的基于区块链的传染病密切接触者确定方法。具体如下:
广播模块31,用于若传染病患者确诊,则广播携带所述患者的个人信息的第一广播消息,所述个人信息至少包括终端号码;
第一获取模块32,用于接收第一运营商节点广播的第二广播消息,获取其中的所述患者的第一密切接触者的个人信息;
第二获取模块33,用于接收第二运营商节点广播的第三广播消息,获取其中的所述患者的第二密切接触者的个人信息;
第三获取模块34,用于接收公共交通工具的系统节点广播的第四广播消息,获取其中的公共交通工具的班次和所述患者的第三密切接触者的个人信息。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。