CN114760594B - 一种基于去中心化网络的密切接触者追踪方法及系统 - Google Patents
一种基于去中心化网络的密切接触者追踪方法及系统 Download PDFInfo
- Publication number
- CN114760594B CN114760594B CN202210673543.4A CN202210673543A CN114760594B CN 114760594 B CN114760594 B CN 114760594B CN 202210673543 A CN202210673543 A CN 202210673543A CN 114760594 B CN114760594 B CN 114760594B
- Authority
- CN
- China
- Prior art keywords
- user node
- user
- node
- network
- module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003745 diagnosis Methods 0.000 claims abstract description 38
- 238000004806 packaging method and process Methods 0.000 claims abstract description 16
- 208000015181 infectious disease Diseases 0.000 claims abstract description 10
- 208000035473 Communicable disease Diseases 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000005180 public health Effects 0.000 abstract description 2
- 230000002265 prevention Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 150000007523 nucleic acids Chemical class 0.000 description 2
- 102000039446 nucleic acids Human genes 0.000 description 2
- 108020004707 nucleic acids Proteins 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002458 infectious effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011330 nucleic acid test Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/22—Social work or social welfare, e.g. community support activities or counselling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Child & Adolescent Psychology (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于去中心化网络的密切接触者追踪方法及系统,涉及公共卫生领域,包括固定节点和用户节点;固定节点,布置在传染病检测点,包括第一登录模块和确诊数据广播模块;用户节点,与每个用户一一对应,包括第二登录模块、哈希码生成模块、广播内容打包模块、广播模块、统计模块、自查模块和结果显示模块。本发明的消息收发部分采用了完全去中心化的网络架构,任何一个节点或者网络的局部节点故障都不会影响到该系统的正常运作,难以被DDos等算法攻击从而瘫痪。本发明可以做到多层次的追踪,可以对于确诊患者、密切接触者和次级密切接触者进行追踪,并且自动完成所有的比对运算,不需要任何人为干预。
Description
技术领域
本发明涉及公共卫生领域,具体涉及一种基于去中心化网络的密切接触者追踪方法及系统。
背景技术
当有高传染性的疫情爆发时,针对疫情常态化和防疫工作持久化,做好疫情追踪成为阻断疫情传播的有效方法。现有的基于隐私考量的疫情追踪方法通常利用智能手机中应用程序,以及GPS 定位、蓝牙通信等功能,通过设备间的近距离通信,将扫描记录超过一定时长的设备信息录入手机数据库。当有用户被确诊为传染病患者后,手机将接触人员信息上传存储到疾控中心的信息数据库中。由疾控中心工作人员解密,生成汇总报告,通过系统发送密切接触情况的通知消息给密切接触者,以实现隐私保护下对传染病密切接触者准确有效的追踪。
现有防疫系统多采用通信设备主动请求服务器健康状态数据,在大量用户同时查询的情况下容易崩溃,影响疫情防控。且支撑高并发的服务器硬件和软件成本高昂,技术门槛较高,不利于大规模推广。且此方法依赖于中心节点,此前曾出现多次在高并发或在高查询率(QPS)下,健康码系统因为负载过大而崩溃的情况,严重影响了居民出行和正常防疫需求,因此急需一套新的技术方案来解决此问题。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于去中心化网络的密切接触者追踪方法及系统解决了现有追踪方法依赖于中心节点,容易因负载过大而崩溃的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种基于去中心化网络的密切接触者追踪方法,其包括以下步骤:
S1、将用户的设备作为用户节点,在用户节点中为用户生成一个唯一的哈希码,并在用户节点中将其要进行广播的消息类别、时间戳和消息内容打包为JSON文件,得到每个用户的广播数据;消息类别包括全网广播和点对点广播;消息内容包括哈希码;
S2、组建去中心化网络:将传染病检测点的设备作为固定节点,通过网络中在线的用户节点向刚登录用户节点广播其所保存的广播数据;其中固定节点用于向与建立连接的节点广播确诊数据;确诊数据包括确诊时间戳和确诊者的哈希码,确诊数据的消息类别为全网广播;
S3、对于每一个用户节点,通过蓝牙和/或WiFi向外发送自己的广播数据,同时接收其他任意用户节点的广播数据;
S4、若任意用户节点A接收到任意用户节点B的点对点广播数据,进入步骤S5;若任意用户节点A接收到全网广播数据,进入步骤S7;
S5、计算任意用户节点A和任意用户节点B的距离L,判断距离L小于设定距离值的时长是否达到设定时间值;若是则在任意用户节点A和任意用户节点B互相将对方标记为自己的密切接触者;否则不做记录;进入步骤S6;
S6、将用户节点中达到存储时间阈值的密切接触者追踪记录信息删除,进入步骤S8;
S7、通过用户节点根据其接收到的全网广播数据进行自查,若自查结果为密切接触者,则全网转发至少一次自查结果和接收到的全网广播数据;否则仅转发至少一次接收到的全网广播数据;进入步骤S8;
S8、判断是否继续进行追踪,若是则返回步骤S3;否则结束追踪。
进一步地,步骤S1中在用户节点中为用户生成一个唯一的哈希码的具体方法为:
在用户节点将用户的身份证号、手机号和MAC地址,通过SHA256算法进行计算,得到唯一的哈希码。
进一步地,步骤S2中通过网络中已有用户节点向刚登录用户节点广播其所保存的广播数据的具体方法为:
当用户节点登录网络时,使刚登陆的用户节点通过域名解析获取固定节点的IP地址,固定节点将网络中在线的用户节点的IP地址发送至刚登陆的用户节点,使刚登录用户节点与网络中在线的用户节点连接,并通过网络中在线的用户节点向刚登录用户节点广播其所保存的全网广播数据,完成刚登录用户节点的数据同步。
进一步地,通过网络中在线的用户节点向刚登录用户节点广播其所保存的全网广播数据的具体方法为:
通过刚登录用户节点将其保存的全文广播数据的最新时间戳发送至与其连接的在线用户节点,在线用户节点将其所保存的、在该最新时间戳以后的全网广播数据发送至刚登录用户节点。
进一步地,步骤S5的具体方法为:
若通过蓝牙进行数据广播或接收,则通过RSSI计算任意用户节点A和任意用户节点B的距离L;若通过WiFi进行数据广播或接收,则通过RTTI分别计算任意用户节点A与WiFi源的距离a、任意用户节点B与WiFi源的距离b,将a+b的值作为任意用户节点A和任意用户节点B的距离L;
设置单次点对点广播的间隔时间为设定时间值,若从同一个点对点广播数据中连续两次收到同一个哈希码,且两次距离计算结果都小于设定距离值,则判定距离L小于设定距离值的时长达到设定时间值,任意用户节点A和任意用户节点B互相将对方标记为自己的密切接触者;否则判定距离L小于设定距离值的时长未达到设定时间值,不做密切接触记录。
进一步地,每个用户节点均存在最大连接数量限制和最小连接数量限制,当用户节点所建立的连接数达到最大连接数量时,拒绝该用户节点与其他用户节点建立新的连接;当用户节点所建立的连接数小于最小连接数量时,基于域名获取固定节点,连接固定节点后通过固定节点发送的在线用户节点的IP地址,采用在线通信的方式与对应的用户节点连接;当用户节点建立的连接数大于最小连接数量时,主动中断与固定节点的连接。
提供一种基于去中心化网络的密切接触者追踪系统,其包括固定节点和用户节点;
固定节点,布置在传染病检测点,包括第一登录模块和确诊数据广播模块;
用户节点,与每个用户一一对应,包括第二登录模块、哈希码生成模块、广播内容打包模块、广播模块、统计模块、自查模块和结果显示模块;
第一登录模块,用于登录去中心化网络,绑定至固定域名,响应用户节点的连接请求,为用户节点发送在线用户节点的IP地址;
确诊数据广播模块,用于向与其连接过的用户节点广播确诊数据;确诊数据包括确诊时间戳和确诊者的哈希码,确诊数据的消息类别为全网广播;
第二登录模块,用于登录去中心化网络,并与固定节点和/或其他用户节点形成连接,并进行广播数据同步;
哈希码生成模块,用于为用户生成一个唯一的哈希码;
广播内容打包模块,用于将用户节点要进行广播的消息类别、时间戳和消息内容打包为JSON文件,得到每个用户的广播数据;消息类别包括全网广播和点对点广播;消息内容包括哈希码;
广播模块,用于通过蓝牙和/或WiFi向外发送自己的广播数据,同时接收其他任意用户节点的广播数据,并用于转发全网广播数据;
统计模块,用于在接收到其他用户节点的点对点广播时,计算与该其他用户节点的距离L,判断距离L小于设定距离值的时长是否达到设定时间值;若是则将其他用户节点标记为自己的密切接触者;
统计模块,还用于将用户节点中达到存储时间阈值的密切接触者追踪记录信息删除;
自查模块,用于在接收到全网广播数据时,根据接收到的全网广播数据进行自查,若自查结果为密切接触者,则将自查结果发送给广播内容打包模块生成全网广播数据;
结果显示模块,用于根据自身与确诊数据的关系,调整显示内容;显示内容包括用户的哈希码。
进一步地,当用户节点通过登录模块登录网络时,登录模块使刚登录用户节点与固定节点连接,登录模块通过固定节点下发的网络中在线的用户节点的IP地址,使刚登录用户节点与网络中在线的用户节点连接,并使刚登录用户节点向网络中与其连接成功的在线用户节点发送其最新的全网广播数据的时间戳,使刚登录用户节点接收网络中与其连接成功的在线用户节点发送的其所保存的全网广播数据,完成广播数据同步,即完成刚登录用户节点的数据同步。
本发明的有益效果为:
1、本发明的消息收发部分采用了完全去中心化的网络架构,任何一个节点或者网络的局部节点故障都不会影响到该系统的正常运作,难以被DDos等算法攻击从而瘫痪。用户数据不会以明文的形式保存,也不会被上传到任何中心服务器,密切接触者的记录、追踪、通知都采用了去中心化的设计,有效防止负载过大而崩溃的问题,并避免因隐私泄露而对于用户本人造成诸如网络暴力之类的影响。
2、本发明采用蓝牙和WiFi混合的方案,以室内WiFi定位技术为辅助手段缓解蓝牙关闭后系统无法记录密切接触者的问题,本发明不依赖于个人位置、流调信息、GPS数据和用户真实身份信息,能够在保护用户隐私的前提下,实现科学精准的追踪用户N天内的密切接触者,当有用户被确诊为患者时,系统可以十分迅速的通知网络所有患者,以及他们的密切接触者和次级密切接触者,实现高效、实时的对于确诊患者、密切接触者、次级密切接触者的筛查和追踪,进而有效的提高疫情防控的效率,做到精准防控。
3、本发明所有节点的第位和功能均相同,无中央数据储存节点、运算节点和决策节点。本发明中采用洪范路由转发算法,一个节点的消息可以通过多条路径进行转发至目标节点,这些路径中包含了最短路径,因此延时较小,传输速率高。当出现确诊患者时,系统会在数秒内迅速找出所有确诊患者对应的密切接触者以及他们的次级密切接触者,并进行相应的通知。
4、本发明的网络可扩展性高,可以随时加入或退出任意节点,即使出现局部故障也不会影响消息的全网同步,节点断开重新连接,将会自动和其他节点同步数据。
5、本发明可以做到多层次的追踪,可以对于确诊患者、密切接触者和次级密切接触者进行追踪,并且自动完成所有的比对运算,不需要任何人为干预。
6、相对于服务端/客户端架构下的高并发和高QPS的处理方案,本发明的技术实现难度更低,更易于大范围的推广应用。
7、本发明每秒可以处理十万条以上的确诊患者和密切接触者数据的追踪和实时通知,可完美支持大负载。
附图说明
图1为本方法的流程示意图;
图2为本发明哈希码的广播过程;
图3为本发明的确诊数据广播过程。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1和图2所示,该基于去中心化网络的密切接触者追踪方法包括以下步骤:
S1、将用户的设备作为用户节点,在用户节点中为用户生成一个唯一的哈希码,并在用户节点中将其要进行广播的消息类别、时间戳和消息内容打包为JSON文件,得到每个用户的广播数据;消息类别包括全网广播和点对点广播;消息内容包括哈希码;
S2、组建去中心化网络:将传染病检测点的设备作为固定节点,通过网络中在线的用户节点向刚登录用户节点广播其所保存的广播数据;其中固定节点用于向与建立连接的节点广播确诊数据;确诊数据包括确诊时间戳和确诊者的哈希码,确诊数据的消息类别为全网广播;
S3、对于每一个用户节点,通过蓝牙和/或WiFi向外发送自己的广播数据,同时接收其他任意用户节点的广播数据;
S4、若任意用户节点A接收到任意用户节点B的点对点广播数据,进入步骤S5;若任意用户节点A接收到全网广播数据,进入步骤S7;
S5、计算任意用户节点A和任意用户节点B的距离L,判断距离L小于设定距离值的时长是否达到设定时间值;若是则在任意用户节点A和任意用户节点B互相将对方标记为自己的密切接触者;否则不做记录;进入步骤S6;
S6、将用户节点中达到存储时间阈值的密切接触者追踪记录信息删除,进入步骤S8;
S7、通过用户节点根据其接收到的全网广播数据进行自查,若自查结果为密切接触者,则全网转发至少一次自查结果和接收到的全网广播数据;否则仅转发至少一次接收到的全网广播数据;进入步骤S8;
S8、判断是否继续进行追踪,若是则返回步骤S3;否则结束追踪。
步骤S2中通过网络中已有用户节点向刚登录用户节点广播其所保存的广播数据的具体方法为:当用户节点登录网络时,使刚登陆的用户节点通过域名解析获取固定节点的IP地址,固定节点将网络中在线的用户节点的IP地址发送至刚登陆的用户节点,使刚登录用户节点与网络中在线的用户节点连接,刚登录用户节点将其保存的全文广播数据的最新时间戳发送至与其连接的在线用户节点,该在线用户节点将其所保存的、在该最新时间戳以后的全网广播数据发送至刚登录用户节点,完成刚登录用户节点的数据同步。刚登录用户节点可以是首次登陆的用户节点,也可以是断开重新连接的用户节点。
步骤S5的具体方法为:
若通过蓝牙进行数据广播或接收,则通过RSSI计算任意用户节点A和任意用户节点B的距离L;若通过WiFi进行数据广播或接收,则通过RTTI分别计算任意用户节点A与WiFi源的距离a、任意用户节点B与WiFi源的距离b,将a+b的值作为任意用户节点A和任意用户节点B的距离L;
设置单次点对点广播的间隔时间为设定时间值,若从同一个点对点广播数据中连续两次收到同一个哈希码,且两次距离计算结果都小于设定距离值,则判定距离L小于设定距离值的时长达到设定时间值,任意用户节点A和任意用户节点B互相将对方标记为自己的密切接触者;否则判定距离L小于设定距离值的时长未达到设定时间值,不做密切接触记录。
该基于去中心化网络的密切接触者追踪系统包括固定节点和用户节点;
固定节点,布置在传染病检测点,包括第一登录模块和确诊数据广播模块;
用户节点,与每个用户一一对应,包括第二登录模块、哈希码生成模块、广播内容打包模块、广播模块、统计模块、自查模块和结果显示模块;
第一登录模块,用于登录去中心化网络,绑定至固定域名,响应用户节点的连接请求,为用户节点发送在线用户节点的IP地址;多个固定节点可以绑定到同一个固定域名,不同地区的用户解析到不同的对应固定节点的IP地址;
确诊数据广播模块,用于向与其连接过的用户节点广播确诊数据;确诊数据包括确诊时间戳和确诊者的哈希码,确诊数据的消息类别为全网广播;
第二登录模块,用于登录去中心化网络,并与固定节点和/或其他用户节点形成连接,并进行广播数据同步;
哈希码生成模块,用于为用户生成一个唯一的哈希码;
广播内容打包模块,用于将用户节点要进行广播的消息类别、时间戳和消息内容打包为JSON文件,得到每个用户的广播数据;消息类别包括全网广播和点对点广播;消息内容包括哈希码;
广播模块,用于通过蓝牙和/或WiFi向外发送自己的广播数据,同时接收其他任意用户节点的广播数据,并用于转发全网广播数据;
统计模块,用于在接收到其他用户节点的点对点广播时,计算与该其他用户节点的距离L,判断距离L小于设定距离值的时长是否达到设定时间值;若是则将其他用户节点标记为自己的密切接触者,并记录对方的哈希码;
统计模块,还用于将用户节点中达到存储时间阈值的密切接触者追踪记录信息删除;
自查模块,用于在接收到全网广播数据时,根据接收到的全网广播数据进行自查,若自查结果为密切接触者,则将自查结果发送给广播内容打包模块生成全网广播数据;
结果显示模块,用于根据自身与确诊数据的关系,调整显示内容;显示内容包括用户的哈希码,哈希码可以采用二维码的形式显示。例如当用户为确诊患者或密切接触者时,可以显示红色二维码;当用户为次密切接触者时,可以显示黄色二维码;用户为正常时,可以显示绿色二维码。
在具体实施过程中,在用户节点中为用户生成一个唯一的哈希码的具体方法为:在用户节点将用户的身份证号、手机号和MAC地址,通过SHA256算法进行计算,得到唯一的哈希码。该方式使得哈希码不可逆,哈希码本身不携带任何信息,只用作身份验证功能。
当用户节点通过第二登录模块登录网络时,第二登录模块使刚登录用户节点与固定节点连接,第二登录模块通过固定节点下发的网络中在线的用户节点的IP地址,使刚登录用户节点与网络中在线的用户节点连接。
每个用户节点均存在最大连接数量限制和最小连接数量限制,当用户节点所建立的连接数达到最大连接数量时,拒绝该用户节点与其他用户节点建立新的连接;当用户节点所建立的连接数小于最小连接数量时,基于域名获取固定节点,连接固定节点后通过固定节点发送的在线用户节点的IP地址,采用在线通信的方式与对应的用户节点连接;当用户节点建立的连接数大于最小连接数量时,主动中断与固定节点的连接,以防所有固定节点连接数都达到最大连接数从而新节点无法登录去中心化网络的问题。最大连接数量可以设置为255,最小连接数量可以设置为8。此设置方式可以使得网络中现存的用户节点或者新加入的用户节点不会全部连接到同一个用户节点上,该限制使得网络中不会出现一个中心节点。最小连接数量也可以保证每个用户节点均可以快速接收到全文广播数据。
在具体实施过程中,刚登录用户节点可以先与上次登录时有过在线数据通讯方式连接的用户节点尝试连接,如果连接成功数量小于最小连接数量,再向固定节点请求网络中在线的用户节点的IP地址。当用户节点无法与其他用户节点通过点对点广播进行连接时,将作为刚登录用户,通过固定节点发送的IP地址,通过在线数据通讯方式与网络中在线的用户节点进行连接,避免用户节点失联。
通过网络中在线的用户节点向刚登录用户节点广播其所保存的全网广播数据的具体方法为:通过网络中在线的用户节点获取刚登录用户节点已有的全网广播数据的最新时间戳,网络中在线的用户节点将其所保存的、在该最新时间戳以后的全网广播数据发送至刚登录用户节点。
在本发明的一个实施例中,存储时间阈值可以根据疫情的潜伏期而定,设定距离值和设定时间值可以根据疫情的传染等级确定。存储时间阈值可以设置为14天,设定距离值可以设置为5米,设定时间值可以设置为5分钟。
当用户去测核酸时,医院或其他检测点采集用户的哈希码,并在核酸检测结果出来之后将该哈希码进行阴性或阳性标记。如图3所示,当核酸检测结果为阳性时,医院或其他检测点相应的固定节点全网广播确诊数据(固定节点之间也可以进行全网广播),确诊数据将在用户节点之间传播,当用户设备接收到广播报文后,会将其与自身哈希码和本地数据库进行比对,如果自身哈希码和广播报文中的哈希码一致,则为表示该用户为确诊患者;当确诊数据的哈希码在本地记录密切接触者的数据库中查询到时,表示该用户为密切接触者,并将其为密切接触者、哈希码、时间戳进行全网转发。同理,当用户的本地数据库中记录有全网广播的密切接触者的哈希码时,表示该用户为次密接。相关部门可以根据疫情情况设定次密接是否需要进行全网广播。
由于每个用户节点均配置为转发全网广播数据,为了避免同一个数据无限制广播,并为了保证各个用户节点均能接收到全网广播数据进行自查,因此本方案限定了每个用户节点针对同一个全网广播数据的转发次数,是否为同一个全网广播数据的判定可以通过其包含的时间戳、消息内容来判断。且为了节约用户空间,同一个全网广播数据仅保存一次,并以首次收到为准。
在具体实施过程中,节点会为每一个建立连接的节点申请一个消息缓存、时间戳缓存的内存空间,同时硬盘里每个通信设备会保留一定的磁盘空间用于储存最近收到过的数据的缓存。由于TCP协议存在半包读取的问题,消息并不一定能一次性完整的接收。当节点接受到其他节点发过来的消息后,会首先储存在各个节点对应的消息缓存中。对缓存中的数据按照消息分隔符进行切分,切分出完整的数据报文后,会将其保存到消息缓存队列中等待处理,剩余的不完整的数据将会继续存留在缓存中,等下次发送的消息送达之后,将其添加到缓存队列末尾合并出完整的消息,再继续进行数据的切分。
节点读取多条消息队列中的数据,如果读取到1000条,将会合并为一个报文向临近节点广播,如果队列为空,消息读取线程将会阻塞,如果读取的消息不足1000条,且0.1秒内没有接收到新的消息,那么将队列中所有现存的消息合并为一个报文并进行全网广播。所有节点都会保存最近接受过的10万条广播数据,如果因为自己是密切接触者而广播自己的哈希码,也将会记录下来。
由于任何一个节点的广播都传遍全网,因此所有节点将会记录同样的广播数据。任意节点断线退出网络连接,再次重新加入网络时,可以向临近节点获取缺失的数据,并重新进行相关比对运算工作。进而保证了各个节点的数据同步,满足全员追踪要求。
在具体实施过程中,本系统的用户节点还包括上报模块,用于在用户节点为确诊患者、密切接触者和次密切接触者时,向相关部门上报自身追踪结果。
在具体实施过程中,去中心化网络中进行的消息广播,都是以JSON格式进行,并且每个消息末尾都包含结尾符\n\r\n\r\n\r用以标识消息的边界。每条消息都至少包含type、time_id、content字段,type用于标识消息的类别,time_id为纳秒级时间戳,用于消息的判重,content为消息的具体内容。
对于用户哈希码的广播(用户自身哈希码或者固定节点广播阳性患者哈希码),type为“broadcast”,代表需要广播至全网的消息报文,其中content的内容为一个列表,列表中包含多个键值对,分别代表哈希码hash_code和传播深度depth,传播深度用于表明密切接触者代数,0代表确诊患者,1代表密切接触者,2代表次级密切接触者,其他取值均不是合法取值。
对于请求可用节点的连接,type字段为“connect”,content内容为自身的哈希码,和自身的IP地址和端口号。对于断线后重新建立连接,请求其他节点的缓存数据同步时,type为“sync”,其他节点收到后,会将自己的缓存数据发送回来,进行同步,type为“sync_response“,数据将会被完整的记录在content字段中。
对于确诊患者或者密切接触者发送给防疫部门或者政府部门自动报备的数据,其不会参与网络广播通信,因此不需要type字段,该消息包含用户个人的电话号码、真实姓名等信息,但不包括位置、历史轨迹等数据。为了防止信息的泄露,会通过HTTPS进行加密传输。
综上所述,本发明采用P2P技术实现去中心化网络,任意节点可以和其他节点进行对等连接,网络能够容纳任意数量的通信设备。本系统可以做到真正意义上的不依赖于任何中心节点,并做到确诊、密切接触者、次级密切接触者的多层次自动追踪和用户消息通知。该网络每秒可以处理十万条以上的确诊患者、密切接触者和次级密切接触者的运算、追踪和实时消息通知。由于采用分散控制,即使整个网络中的某个局部出现故障,也不会影响该系统运作,具有很高的可靠性;网络中的广播采取洪泛路由算法,因此一个节点的消息可以通过多条路径进行转发,这些路径中包含了最短路径,因此延时较小,传输速率高,当出现确诊患者时,系统会在数秒内迅速找出所有确诊患者对应的密切接触者以及他们的次级密切接触者,并进行相应的通知。
Claims (6)
1.一种基于去中心化网络的密切接触者追踪方法,其特征在于,包括以下步骤:
S1、将用户的设备作为用户节点,在用户节点中为用户生成一个唯一的哈希码,并在用户节点中将其要进行广播的消息类别、时间戳和消息内容打包为JSON文件,得到每个用户的广播数据;消息类别包括全网广播和点对点广播;消息内容包括哈希码;
S2、组建去中心化网络:将传染病检测点的设备作为固定节点,通过网络中在线的用户节点向刚登录用户节点广播其所保存的广播数据;其中固定节点用于向与其建立连接的节点广播确诊数据;确诊数据包括确诊时间戳和确诊者的哈希码,确诊数据的消息类别为全网广播;
S3、对于每一个用户节点,通过蓝牙和/或WiFi向外发送自己的广播数据,同时接收其他任意用户节点的广播数据;
S4、若任意用户节点A接收到任意用户节点B的点对点广播数据,进入步骤S5;若任意用户节点A接收到全网广播数据,进入步骤S7;
S5、计算任意用户节点A和任意用户节点B的距离L,判断距离L小于设定距离值的时长是否达到设定时间值;若是则在任意用户节点A和任意用户节点B互相将对方标记为自己的密切接触者;否则不做记录;进入步骤S6;
S6、将用户节点中达到存储时间阈值的密切接触者追踪记录信息删除,进入步骤S8;
S7、通过用户节点根据其接收到的全网广播数据进行自查,若自查结果为密切接触者,则全网转发至少一次自查结果和接收到的全网广播数据;否则仅转发至少一次接收到的全网广播数据;进入步骤S8;
S8、判断是否继续进行追踪,若是则返回步骤S3;否则结束追踪;
步骤S2中通过网络中已有用户节点向刚登录用户节点广播其所保存的广播数据的具体方法为:
当用户节点登录网络时,使刚登陆的用户节点通过域名解析获取固定节点的IP地址,固定节点将网络中在线的用户节点的IP地址发送至刚登陆的用户节点,使刚登录用户节点与网络中在线的用户节点连接,并通过网络中在线的用户节点向刚登录用户节点广播其所保存的全网广播数据,完成刚登录用户节点的数据同步。
2.根据权利要求1所述的基于去中心化网络的密切接触者追踪方法,其特征在于,步骤S1中在用户节点中为用户生成一个唯一的哈希码的具体方法为:
在用户节点将用户的身份证号、手机号和MAC地址,通过SHA256算法进行计算,得到唯一的哈希码。
3.根据权利要求1所述的基于去中心化网络的密切接触者追踪方法,其特征在于,通过网络中在线的用户节点向刚登录用户节点广播其所保存的全网广播数据的具体方法为:
通过刚登录用户节点将其保存的全文广播数据的最新时间戳发送至与其连接的在线用户节点,在线用户节点将其所保存的、在该最新时间戳以后的全网广播数据发送至刚登录用户节点。
4.根据权利要求1所述的基于去中心化网络的密切接触者追踪方法,其特征在于,步骤S5的具体方法为:
若通过蓝牙进行数据广播或接收,则通过RSSI计算任意用户节点A和任意用户节点B的距离L;若通过WiFi进行数据广播或接收,则通过RTTI分别计算任意用户节点A与WiFi源的距离a、任意用户节点B与WiFi源的距离b,将a+b的值作为任意用户节点A和任意用户节点B的距离L;
设置单次点对点广播的间隔时间为设定时间值,若从同一个点对点广播数据中连续两次收到同一个哈希码,且两次距离计算结果都小于设定距离值,则判定距离L小于设定距离值的时长达到设定时间值,任意用户节点A和任意用户节点B互相将对方标记为自己的密切接触者;否则判定距离L小于设定距离值的时长未达到设定时间值,不做密切接触记录。
5.根据权利要求1所述的基于去中心化网络的密切接触者追踪方法,其特征在于,每个用户节点均存在最大连接数量限制和最小连接数量限制,当用户节点所建立的连接数达到最大连接数量时,拒绝该用户节点与其他用户节点建立新的连接;当用户节点所建立的连接数小于最小连接数量时,基于域名获取固定节点,连接固定节点后通过固定节点发送的在线用户节点的IP地址,采用在线通信的方式与对应的用户节点连接;当用户节点建立的连接数大于最小连接数量时,主动中断与固定节点的连接。
6.一种基于去中心化网络的密切接触者追踪系统,其特征在于,包括固定节点和用户节点;
固定节点,布置在传染病检测点,包括第一登录模块和确诊数据广播模块;
用户节点,与每个用户一一对应,包括第二登录模块、哈希码生成模块、广播内容打包模块、广播模块、统计模块、自查模块和结果显示模块;
第一登录模块,用于登录去中心化网络,绑定至固定域名,响应用户节点的连接请求,为用户节点发送在线用户节点的IP地址;
确诊数据广播模块,用于向与其连接过的用户节点广播确诊数据;确诊数据包括确诊时间戳和确诊者的哈希码,确诊数据的消息类别为全网广播;
第二登录模块,用于登录去中心化网络,并与固定节点和/或其他用户节点形成连接,并进行广播数据同步;
哈希码生成模块,用于为用户生成一个唯一的哈希码;
广播内容打包模块,用于将用户节点要进行广播的消息类别、时间戳和消息内容打包为JSON文件,得到每个用户的广播数据;消息类别包括全网广播和点对点广播;消息内容包括哈希码;
广播模块,用于通过蓝牙和/或WiFi向外发送自己的广播数据,同时接收其他任意用户节点的广播数据,并用于转发全网广播数据;
统计模块,用于在接收到其他用户节点的点对点广播时,计算与该其他用户节点的距离L,判断距离L小于设定距离值的时长是否达到设定时间值;若是则将其他用户节点标记为自己的密切接触者;
统计模块,还用于将用户节点中达到存储时间阈值的密切接触者追踪记录信息删除;
自查模块,用于在接收到全网广播数据时,根据接收到的全网广播数据进行自查,若自查结果为密切接触者,则将自查结果发送给广播内容打包模块生成全网广播数据;
结果显示模块,用于根据自身与确诊数据的关系,调整显示内容;显示内容包括用户的哈希码;
当用户节点通过登录模块登录网络时,登录模块使刚登录用户节点与固定节点连接,登录模块通过固定节点下发的网络中在线的用户节点的IP地址,使刚登录用户节点与网络中在线的用户节点连接,并使刚登录用户节点向网络中与其连接成功的在线用户节点发送其最新的全网广播数据的时间戳,使刚登录用户节点接收网络中与其连接成功的在线用户节点发送的其所保存的全网广播数据,完成广播数据同步,即完成刚登录用户节点的数据同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210673543.4A CN114760594B (zh) | 2022-06-15 | 2022-06-15 | 一种基于去中心化网络的密切接触者追踪方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210673543.4A CN114760594B (zh) | 2022-06-15 | 2022-06-15 | 一种基于去中心化网络的密切接触者追踪方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760594A CN114760594A (zh) | 2022-07-15 |
CN114760594B true CN114760594B (zh) | 2022-09-06 |
Family
ID=82336819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210673543.4A Active CN114760594B (zh) | 2022-06-15 | 2022-06-15 | 一种基于去中心化网络的密切接触者追踪方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760594B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111446006A (zh) * | 2020-04-08 | 2020-07-24 | 陈恬慧 | 一种传染病疫情中密切接触者的追踪方法 |
CN113161003A (zh) * | 2020-05-31 | 2021-07-23 | 华南理工大学 | 一种传染病患者活动轨迹和接触者追踪登记系统及方法 |
CN113593704A (zh) * | 2021-07-30 | 2021-11-02 | 福建熵链延华科技有限公司 | 基于区块链的非接触式防疫方法及其系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2021235894A1 (en) * | 2020-03-09 | 2022-09-22 | Royal Caribbean Cruises Ltd. | Contact tracing systems and methods for tracking of shipboard pathogen transmission |
WO2021202854A1 (en) * | 2020-04-01 | 2021-10-07 | Pricewaterhousecoopers Llp | Automatic contact tracing |
WO2021211384A1 (en) * | 2020-04-14 | 2021-10-21 | Qualcomm Incorporated | Contact tracing using a wireless network |
SG10202004399XA (en) * | 2020-05-12 | 2021-12-30 | Kaha Pte Ltd | Method, system and device for social distancing and contact tracing |
CN111343577B (zh) * | 2020-05-22 | 2020-08-28 | 卓望信息技术(北京)有限公司 | 一种用于传染病人跟踪及感染风险检测的方法 |
US20210375484A1 (en) * | 2020-05-28 | 2021-12-02 | Global Payments Gaming Services Inc. | Object-based contact tracing |
CN111918215A (zh) * | 2020-06-30 | 2020-11-10 | 王云峰 | 通过蓝牙对传染病密切接触者进行追踪的方法与系统 |
CN112069542A (zh) * | 2020-09-09 | 2020-12-11 | 北京清数智能科技有限公司 | 一种密切接触者追踪方法、装置、存储介质及电子设备 |
CN112566036B (zh) * | 2020-11-17 | 2021-10-15 | 大连理工大学 | 一种基于低功耗广域网和区块链的流行病密切接触者追踪方法 |
CN113993087A (zh) * | 2021-10-27 | 2022-01-28 | 复旦大学附属眼耳鼻喉科医院 | 基于蓝牙半定量测距的确诊病例密切接触者追溯方法 |
CN114038571A (zh) * | 2021-11-17 | 2022-02-11 | 卫宁健康科技集团股份有限公司 | 传染病追踪方法、装置、设备及存储介质 |
-
2022
- 2022-06-15 CN CN202210673543.4A patent/CN114760594B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111446006A (zh) * | 2020-04-08 | 2020-07-24 | 陈恬慧 | 一种传染病疫情中密切接触者的追踪方法 |
CN113161003A (zh) * | 2020-05-31 | 2021-07-23 | 华南理工大学 | 一种传染病患者活动轨迹和接触者追踪登记系统及方法 |
CN113593704A (zh) * | 2021-07-30 | 2021-11-02 | 福建熵链延华科技有限公司 | 基于区块链的非接触式防疫方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114760594A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Srinivasan et al. | DRBTS: distributed reputation-based beacon trust system | |
CN110489486B (zh) | 生成区块链网络的方法、种子节点和介质 | |
KR102167613B1 (ko) | 메시지 푸시 방법 및 장치 | |
CN114363003B (zh) | Bgp路由识别方法、装置及设备 | |
JP2024028627A5 (zh) | ||
US9781579B2 (en) | Method and device for realizing terminal WIFI talkback | |
CN110474818B (zh) | 区块链网络嗅探器、网络嗅探方法和优化方法 | |
US9935861B2 (en) | Method, system and apparatus for detecting instant message spam | |
CN111263338A (zh) | 蓝牙Mesh网络的配网方法与相关配网设备及系统 | |
US9699139B2 (en) | Communications system | |
CN110875857A (zh) | 断网状态的上报方法、装置及系统 | |
US9509777B2 (en) | Connection method and management server | |
CN113543015A (zh) | 一种通信方法、装置及系统 | |
US10268532B2 (en) | Application message processing system, method, and application device | |
CN114760594B (zh) | 一种基于去中心化网络的密切接触者追踪方法及系统 | |
JP2023162178A (ja) | ユーザ機器を追跡するための方法およびネットワークノード | |
US20200021626A1 (en) | Management of subscriber identity in service provision | |
CN110602222B (zh) | 基于区块链的联合监控方法、装置及计算机存储介质 | |
JP2002164899A (ja) | ネットワーク監視方法および装置 | |
EP4094421A2 (en) | Pce controlled network reliability | |
US20220368681A1 (en) | Systems and methods for group messaging using blockchain-based secure key exchange | |
CN116846687B (zh) | 一种网络安全监测方法、系统、装置及存储介质 | |
KR20150065017A (ko) | 스미싱 방지 방법, 이를 수행하는 스미싱 방지 서버 및 이를 저장하는 기록매체 | |
US20220368524A1 (en) | Systems and methods for blockchain-based secure key exchange with key escrow fallback | |
CN110839034B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |