基于Wi-Fi探针的新冠肺炎患者轨迹追溯系统设计

2020-06-28 09:07胡佳雄马敬东
医疗卫生装备 2020年6期
关键词:信号强度探针行人

胡佳雄,马敬东,2*

(1.华中科技大学同济医学院医药卫生管理学院,武汉 430030;2.华中科技大学同济医学院信息医学研究所,武汉 430030)

0 引言

新型冠状病毒肺炎(以下简称“新冠肺炎”)是由新型冠状病毒(SARS-CoV-2)引起的急性传染病,主要经呼吸道飞沫和接触传播,也存在气溶胶和消化道等潜在传播可能,人群普遍易感[1]。由于传染性强,从2020年1月份开始新冠肺炎确诊病例不断增多,单日全国最多新增15 152例[2]。目前国内疫情大规模传播已基本阻断,但是境外输入病例和无症状感染者使得疫情防控形式依然严峻。根据国家卫生健康委员会的定义,新冠肺炎密切接触者指从疑似病例和确诊病例症状出现前2 d开始,或无症状感染者标本采样前2 d开始,未采取有效防护与其有近距离接触(1 m内)的人员[3]。追溯确诊患者疫情期间的活动轨迹,找出其密切接触者对疫情防控有重要意义。

目前,新冠肺炎患者轨迹追溯和密切接触者排查主要依靠疾控中心流调员人工进行流行病学调查完成,缺少信息化手段支持。在记录城市中行人轨迹方面,主要依靠乘客乘车前主动扫描公共交通乘车码完成,这种数据采集方式依赖于乘客的配合程度,并且无法采集到未乘坐公共交通工具的行人的轨迹数据。

近年来,随着国家对“平安城市”“无线城市”的不断投资建设,目前几乎所有地级市和重点区县已经完成了第一期的平安城市建设,城市大多数公共区域实现了视频监控覆盖、Wi-Fi探针覆盖。Wi-Fi探针是基于Wi-Fi探测技术来识别附近已开启Wi-Fi设备的专用设备[4]。目前,“平安城市”“无线城市”在日常运行中产生了海量的以手机MAC地址为主的无线数据,并呈快速增长的趋势[5]。MAC地址信息可以唯一标识一台终端设备[6],不同的厂商拥有自己的MAC地址段,因此可以通过MAC地址查询其对应的终端设备厂商信息[7]。将Wi-Fi探针架设在人流经过的区域,就能采集到经过该区域的行人所携带的开启Wi-Fi功能的智能手机MAC地址,以及该手机进入区域和离开区域的时间[8]。对同一部手机MAC地址被采集到的不同时间和所关联的Wi-Fi探针的位置进行分析,可以计算出持有该手机的行人的轨迹。

设计基于Wi-Fi探针的新冠肺炎患者轨迹追溯系统,使用原来建设的“平安城市”项目部署的数据采集设备,不必增加投入硬件资源。使用本系统可以较快开发出实时轨迹计算模型,可以为新冠肺炎流行病学调查提供数据支持。

1 系统整体设计

根据IEEE 802.11系列协议[9],开启了Wi-Fi功能的移动终端设备(如手机、平板计算机等)会定期发送Probe Request帧来探测附近的无线接入点(access point,AP),该 Probe Request帧包含了终端MAC地址和AP设备的MAC地址,且未进行加密。通过捕获并解析Probe Request帧即可获得试图接入该AP的终端设备的MAC地址。Wi-Fi探针相当于一部AP设备,该设备会不断广播带有其MAC地址和探针名称(即SSID)的Beancon帧,终端设备接收到AP的Beancon帧后会向其发送Probe Request帧以建立连接。

当行人手机开启Wi-Fi功能时,不需要接入互联网,无论安卓还是iOS系统都能被Wi-Fi探针采集到数据,且Wi-Fi探针不会采集手机号、姓名、通信录等敏感信息。Wi-Fi探针采集的数据中包含信号强度字段fieldIntensity,表示探针捕获到手机终端信号时的信号强度,单位为dBm,是一个负数,其数值越接近0表示信号强度越强。信号强度可以近似描述探针与手机终端之间的距离,当距离越近时,信号强度就越强。

系统整体设计分为系统架构设计和系统算法设计。

1.1 系统架构设计

Wi-Fi探针采集开启Wi-Fi连接功能的行人手机的MAC地址、首次进入和离开信号接收范围的时间以及Wi-Fi探针的经纬度信息,可以分析得到行人轨迹、与确诊患者同行人MAC地址及同乘人MAC地址。基于Wi-Fi探针的新冠肺炎患者轨迹追溯系统分为数据采集、大数据处理、轨迹追溯3个模块,其架构如图1所示。

图1 系统架构图

行人手机若开启Wi-Fi功能,进入Wi-Fi探针覆盖范围,则会与Wi-Fi探针建立连接,探针解析手机终端发送的Probe Request帧,采集数据,并将采集到的数据(如下文样例数据所示)发送至数据采集服务器。Flume日志采集工具能将数据采集服务器采集的数据稳定传输到大数据处理模块进行离线数据仓库存储和实时流式计算。离线数据仓库部分数据写到HBase,利用HBase进行即席查询和批处理计算。同时Flume日志采集工具将数据写入Kafka消息队列,利用Spark Streaming消费Kafka数据,在滑动时间窗口内计算确诊患者轨迹、同行人MAC地址、同乘人MAC地址,并将计算结果写入ElasticSearch。利用SpringBoot开发数据服务接口,将确诊患者MAC地址、开始时间、结束时间作为参数,从ElasticSearch中查询其轨迹、同行人MAC地址或同乘人MAC地址。

1.2 系统算法设计

系统算法设计包括确诊患者轨迹算法设计和同行人识别算法设计。

1.2.1 确诊患者轨迹算法设计

确诊患者轨迹算法设计步骤如下:

(1)数据采集:通过架设在城市街道上的Wi-Fi探针设备采集开启Wi-Fi功能的行人手机MAC地址、首次采集到的时间、最后一次采集到的时间、手机品牌等数据,样例数据如下:

(2)轨迹提取:对采集到的数据按照MAC地址进行分组,轨迹定义为 R={r1,r2,…,ri,…,rn},其中ri=(pi,ti),pi为由经度和纬度组成的点,ti为在该经纬度的时间。

(3)轨迹点预处理:对连续的2个点ri和ri+1,如果pi=pi+1且ti+1-ti<Δt,合并轨迹为ri'=(pi,ti,ti+1),其中ti为开始采集时间,ti+1为最后一次采集时间,Δt为时间阈值。合并后的MAC地址轨迹为R'={r1',r2',…,ri',…,rn'}。

1.2.2 确诊患者同行人识别算法设计

对每个探针设备计算确诊患者MAC地址在指定日期被监测到的时间段,将pi点的探针在ti时间段内采集到的其他MAC地址存入集合mapi中,计算mapi中的MAC地址在所有集合中出现的次数S,S与确诊患者被采集到的次数的商即为该MAC地址是确诊患者同行人的概率。按照概率大小倒序排序,即可以分析出该确诊患者最可能的同行人的手机MAC地址。

2 关键技术

(1)数据采集:本项目所涉及的数据资源是无线大数据,来源于城市建设的“平安城市”“无线城市”项目的Wi-Fi探针,利用探针采集的数据进行大数据分析。Wi-Fi探针采集到手机终端MAC地址后传输给探针数据收集服务器,用Flume进行数据收集。Flume是一个分布式、可靠、高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,通过监控整个文件目录或者某一个特定文件来收集数据。Flume收集数据Sink到HBase数据仓库,并且写到Kafka消息队列,进行流式计算。使用Kafka消息队列可以避免数据采集速度大于数据处理速度时出现数据堆积和数据丢失。

(2)数据预处理:包括数据去重、MAC地址校验、时间格式转换及缺省字段赋值等。去重逻辑为:当同一时刻1个MAC地址同时被多个Wi-Fi探针捕获,产生多条记录时取信号强度最大的记录参与运算。对于信号强度,过滤掉值小于-90 dBm的记录,以提高计算结果的精度。

(3)数据存储:原始数据经Flume采集后,分别进行离线数据仓库存储和实时流式计算。HBase是Hadoop生态中面向列的、分布式高性能数据库,使用其作为离线数据仓库,可以用作对数据进行即席查询和批处理任务计算。将随机数、MAC地址、时间这三部分的字符串拼接作为HBase存储时的RowKey,这样可以将数据分散到不同的regionserver中,避免热点问题。

实时流式计算结果包含所有采集到的行人轨迹及多人同行、同乘轨迹。将该实时计算结果存入ElasticSearch。ElasticSearch是基于Lucene的全文检索引擎工具包,可以作为大规模集群来处理PB级数据。ElasticSearch除能够提供传统数据库很难实现的全文搜索功能外,还具备结构化搜索、数据分析及复杂的语言处理等功能[10]。ElasticSearch提供了一个分布式多用户能力的全文搜索引擎,并可以基于RESTfulWeb接口完成稳定、可靠、快速的数据搜索[11]。

(4)数据计算:本系统采用基于时间窗口的实时流式计算,以SparkStreaming作为流式计算引擎。Spark Streaming是基于Spark Core的实时流式大数据处理框架,与Hadoop、HDFS、HIVE等大数据组件完全兼容,具有易用性、容错性,能够与RDD算子、机器学习、Spark SQL以及图形图像处理框架无缝连接[12]。对实时采集的数据开指定步长的滑动时间窗口,在各时间窗口内分别实现行人轨迹以及多人同行、同乘的计算逻辑。

大数据处理集群使用CDH集群,单台服务器物理机需要按照128 GB内存、20核物理 CPU、40线程、8 TB HDD和2 TB SSD硬盘配置。Wi-Fi探针架间的距离应保证相邻2个探针连线中点位置能接收到的终端信号强度大于-90 dBm。

3 系统应用

Wi-Fi探针采集到的手机MAC地址具有时间和空间位置属性,对其进行大数据分析能提供多个场景的新冠肺炎疫情防控数据支持。本系统主要应用场景包括:确诊患者轨迹追溯、筛选与确诊患者同行人员及同乘人员。

(1)确诊患者轨迹追溯。

输入确诊患者的手机MAC地址并指定时间段,该MAC地址与ElasticSearch中的MAC地址碰撞,得到该时间段内该MAC地址被探针设备捕获的时间和探针设备的经纬度(见表1)。将时间和经纬度在地图上标示,即为该确诊患者在指定时间段内的轨迹,如图3所示。

表1 确诊患者轨迹追溯结果

(2)筛选与确诊患者同行人员。

如果在指定时间内,行人的MAC地址与确诊患者的MAC地址被街道上多个连续架设的Wi-Fi探针同时捕获,且进入和离开该Wi-Fi探针监测范围的时刻与确诊患者MAC地址进入和离开的时刻一致,则认为在该时间段内该行人为确诊患者的同行人员,流行病学调查时应该重点关注这些同行人员。如表2中所示,D0:A6:37:BD:3B:90为确诊患者68:DF:DD:40:E1:D0的同行人的MAC地址。

图3 轨迹查询结果

表2 确诊患者同行人员计算结果

(3)筛选与确诊患者同乘人员。

若采集到的MAC地址确定为确诊患者的MAC地址,可以计算出同时与该MAC地址在连续多个Wi-Fi探针之间以相同速度移动的其他多个MAC地址,且移动速度大于人步行速度,则可以判断其他多个MAC地址为确诊患者的同乘人员的MAC地址。

4 结语

本文设计了一种基于Wi-Fi探针的新冠肺炎患者轨迹追溯系统,运用城市中“平安城市”“无线城市”项目采集的行人手机MAC地址进行大数据分析,设计了数据采集、数据存储、数据计算等流程,并提出本系统的3个主要应用场景,可以为疫情防控提供数据支持。

本研究尚存在一些不足:查询新冠肺炎患者轨迹需要输入其手机MAC地址,而手机MAC地址由12位十六进制数表示,不容易识记;本系统中Wi-Fi探针采集行人MAC地址时将探针经纬度近似当作行人在数据采集时刻的位置,有时不能精确定位行人的位置。

本研究下一步将重心放在系统模型优化上,研究利用Wi-Fi信号强度计算行人精确位置的算法,提高定位精度。另外,探索融合“平安城市”中其他来源的数据,如“人脸识别”数据、车辆卡口数据,通过多源数据分析,提高新冠肺炎患者轨迹追溯的准确性。

猜你喜欢
信号强度探针行人
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
电子自旋共振波谱法检测60Co-γ射线辐照中药材
毒舌出没,行人避让
基于FANUC数控系统的马波斯探针标定原理及应用
路不为寻找者而设
室内定位信号强度—距离关系模型构建与分析
我是行人
WiFi信号强度空间分辨率的研究分析
曝光闯红灯行人值得借鉴
多通道Taqman-探针荧光定量PCR鉴定MRSA方法的建立