企业级隐私感知占用检测

企业规模隐私感知占用检测

摘要

智能建筑内的基于位置的服务依赖于可扩展的定位方法。然而,对于企业而言,员工个人隐私是一个主要关注点。本文提出了一种面向大规模企业的注重隐私的占用感知机制,适用于分布在多个城市、多栋建筑和多层楼的企业环境。该机制通过在边缘设备上实现的基于Wi‐Fi指纹的定位方法来实现。我们展示了在IBM印度办公室空间进行的试点研究中获得的关于占用感知的一些初步结果。

关键词 – 占用率,隐私,定位,企业规模,边缘。

一、引言

商业建筑中的办公区域空间利用率往往可能低至40%[1]。优化利用率可为企业在资本和运营成本方面带来显著的成本节约。尽管目前存在多种用于测量企业中占用率的解决方案[2],但这些方案要么侵犯隐私,要么无法提供如员工指定位置或项目等维度的占用信息。

大规模企业的员工通常被分配到多个项目中,共享同一楼层或同一栋建筑物。负责在办公空间内为多个项目分配座位的场地或建筑管理者,需要基于各个项目的可操作的洞察。此类信息可用于根据不同项目团队的实际使用率而非不准确的预测来实现办公座位空间的优化分配。除了空间利用率之外,占用信息还是在保持居住者舒适度的同时优化暖通空调(HVAC)系统的重要组成部分[3]。

在本文中,我们使用基于Wi‐Fi指纹的定位(WFBL)来估算不同楼层的占用值,并估算同一楼层内不同项目的占用值。我们针对一家大型企业进行此项工作,同时将WFBL改进为隐私感知的方案。WFBL不需要额外硬件,因此能够以极低的成本将我们的解决方案扩展到企业规模。作为解决方案的一部分,我们利用雇主提供的笔记本电脑作为我们的传感设备。WFBL包含两个阶段:用于实地勘测位置的离线阶段和用于进行位置查询[4]的在线阶段。大多数使用WFBL的方案都会在边缘收集Wi‐F信号强度数据,并将其发送到服务器以进行进一步处理和位置估计。这种方法有可能侵犯员工的隐私,因为可以通过识别员工的位置进而识别出具体员工。因此,我们提出一种在边缘同时实现定位和匿名化的方案。然而,在边缘运行定位方法本身也面临挑战,因为该解决方案需要适应边缘设备上的资源(内存和功耗)限制,并持续更新其定位模型。这些因素也影响了定位方法的选择。本文中,我们在解决企业级规模问题并保护员工隐私的前提下,改进了基于Wi‐Fi指纹的定位(WFBL)的离线和在线阶段。我们报告了在跨越多个城市的企业的环境中扩展occupancy测量系统所面临的挑战。

我们还展示了在IBM印度的几个楼层进行试点的结果,以验证定位方法并测试扩展机制。第五节介绍了我们用于人员占用检测的基于边缘的解决方案。在下一节第三节中,我们讨论了用于基于WFBL的人员占用检测的Wi‐F指纹识别技术,以及为实现企业级扩展所采用的技术。在接下来的章节中,我们介绍相关工作;在第三节中,我们讨论了基于WFBL的人员占用检测的Wi‐F指纹识别过程以及为实现企业级扩展所采用的技术。

II. 相关工作

大多数人员占用检测方法需要额外硬件[3],[5],这会带来额外的资本和运营成本。然而,由于无线局域网无需基础设施且广泛存在,基于Wi‐Fi指纹的定位(WFBL)成为人员占用检测的流行选择。WFBL基于在感兴趣区域(AOI)内从可用接入点(AP)收集的接收信号强度指示(RSSI)构建数据库。该数据库通常被称为“无线电地图”或Wi‐Fi指纹数据库。一旦建立了Wi‐Fi指纹数据库,传统的WFBL版本通过将员工观测到的RSSI值与数据库中的所有RSSI向量进行比较来推断其位置。这种方法不适合在边缘设备上实现,因为它既占用大量内存又速度极慢。本文重点是利用Wi‐Fi指纹数据库训练位置映射函数,以根据观测到的RSSI值预测位置。训练位置映射函数(或位置分类器)的过程属于WFBL的离线阶段。我们主要关注易于在边缘实现的位置映射函数。由于边缘设备资源高度受限,我们更倾向于选择速度快、内存消耗少且不依赖重型机器学习库的位置推断模型。人工神经网络(ANN)是解决Wi‐Fi定位问题的常用选择,因为它们对信号波动和噪声影响具有较强的鲁棒性[6],[7],[8]。基于人工神经网络(ANN)的模型可以在云端进行训练,其权重和偏置可以下载到用于边缘推理的边缘设备。使用人工神经网络进行边缘推理主要涉及矩阵的乘法和加法运算,这使得人工神经网络成为我们解决方案的一个理想候选。对于我们的occupancy测量解决方案,我们需要实现逐层定位。文献[7]中提出的方案忽略了建筑物/楼层分类问题中的层次结构,而是将其输出标签展平为(建筑i−楼层j),而不是分层地对建筑i和楼层j等多个标签进行分类。在训练位置分类器时,该方法假设建筑物误分类和楼层误分类所造成的损失相等。文献[8]的作者针对此问题提出使用分层损失函数或采用multi-label分类方法。

为了在IBM印度实现楼层定位,我们必须考虑一个更深层次的层次结构,该结构包括
cityi→ sitej → buildingk → floor.
在本文中,我们尝试通过分层方法解决[8]中提出的问题以及可扩展性问题。第四节介绍了我们解决方案中采用的分层定位方法。在子章节IV‐C中,我们使用IBM印度所有办公区域的Wi‐Fi指纹数据,对是否采用主成分分析(PCA)的分层方法进行了比较。

对于WFBL的online阶段,我们采用边缘计算来解决隐私[9]问题,同时能够提供上下文感知服务[10]。但在边缘部署WFBL也面临自身挑战[11],这需要进行一些变更,例如使用轻量级库和算法。此外,挑战还包括保持边缘端WFBL模型的更新。第五节介绍了我们用于人员占用检测的基于边缘的解决方案。

三、Wi‐Fi指纹识别

在感兴趣区域内收集不同位置的Wi‐Fi信号的过程被称为Wi‐Fi指纹识别。我们评估了以下指纹识别方法,旨在找到一种低初始和维护成本的解决方案:

使用企业数据中接入点的媒体访问控制(MAC)地址

企业通常不会维护每个楼层所有MAC地址的数据库。然而,即使存在这样的数据库(且没有这些MAC地址的信号强度数据),Wi‐Fi信号的跨楼层泄漏也会导致错误的楼层预测。

分布式指纹识别

我们通过一个小规模用户组进行试点来测试该方法,每个用户在位于其工位时安装边缘客户端。虽然这是一个可扩展的解决方案,但挑战在于确保用户在安装期间及其后的整个数据采集过程中始终保持在其座位上(并随身携带其设备)。这被证明是一项挑战。

接入点指纹识别

这需要数据采集代理在楼层内走动以寻找接入点,并在每个接入点下方停留一段固定时间段,同时该工具会自动检测与接入点相关联的MAC地址。该工具利用了这样一个事实:当数据采集代理正位于接入点下方时,该接入点的MAC地址的信号强度最高。这种方法的主要挑战在于数据采集代理可能无法定位到楼层内的所有接入点。

基于参考点(RP)的指纹识别

这是最适合我们解决方案的指纹识别方法,我们结合了多种技术以确保数据采集无误差。其内容包括:
1) 在感兴趣区域内选择称为参考点(RP)的物理位置,
2) 从感兴趣区域内的所有接入点(APs)收集每个参考点的RSSI值测量数据。

在每个参考点的测量值随后与其对应的标签一起存储到数据库中。此过程重复进行,直到访问完感兴趣区域内的所有参考点。一旦建立Wi‐Fi指纹数据库,即可使用该数据库来训练位置映射函数,其中以MAC地址的RSSI值作为输入,参考点标签作为输出。因此,Wi‐Fi指纹数据库的准确率直接影响定位的准确率。

Wi‐Fi fingerprinting in IBM India

我们的感兴趣区域是IBM印度拥有的整个办公空间。这包括了印度多个城市的IBM办公室。对整个IBM印度进行手动指纹识别在后勤方面是一项巨大的挑战。除了设计一种能够有效避免人为错误的数据采集软件外,我们的指纹识别工作还考虑到了其他诸多问题,例如:向所有楼宇管理员下达指令、分发数据采集软件、培训非技术人员进行手动Wi‐F指纹识别、从多个位置检索和同步数据。

非技术人员经过培训,在每个IBM楼层的楼层平面图上标记参考点(RP),理想情况下,各参考点之间的间距应在3米(约10英尺)以内,并应均匀分布,覆盖楼层的所有可进入区域。参数值3米是通过经验确定的,以确保指纹数据具有足够的分辨率,同时使指纹识别过程相对较快。他们还接受了使用安装在数据采集设备上的数据采集软件(也称为指纹识别工具)的培训。我们采用较新型号的Windows笔记本电脑作为数据采集设备。由于试点楼层的大多数员工使用Windows笔记本电脑,因此大部分位置查询将来自Windows笔记本电脑。这促使我们使用Windows笔记本电脑(而非更轻便的智能手机)来采集Wi‐F指纹数据,以减少数据采集设备与查询设备之间的硬件方差问题[12]。

该指纹识别工具在开发时力求抗人为错误,通过尽量减少人为干预来实现。该工具被开发用于向数据采集代理提供指令,以应对一些常见情况/事件。为确保指纹识别过程更顺利地执行,必须考虑以下因素。

1) 在不同位置用于指纹识别的笔记本电脑类型(具有不同的速度)差异显著。因此,若在参考点以固定时间段收集测量值,会因笔记本电脑速度的不同而导致数据点数量不一。这可能导致推理引擎对特定参考点产生偏差。因此,该指纹识别工具被设计为在每个参考点始终采集固定数量的数据点,而不论所需时间长短。

2) 该指纹识别工具会为需要收集的每个数据点手动触发一次Wi‐F扫描,因为笔记本电脑具有在手动触发扫描之前Wi‐F信号保持陈旧的特性。

3) 开发了两个可执行文件以分别收集训练和验证数据集。一旦启动该可执行文件,它将向数据采集代理提供非常具体的指示(如图1所示)。

示意图0

4) 指令提供了当布局上标记的参考点因布局更改而无法访问、不可达或不存在时应执行操作的具体说明。

5) 其设计不仅限于在参考点收集带标签的数据点,还可 在从一个参考点移动到另一个参考点的过程中收集参考点之间的数据点。考虑到我们主要关注楼层级定位,这是对现有指纹识别方法的一个有益改进,使我们能够获取代表特定楼层的尽可能多的Wi‐F指纹变化。

指纹识别活动需要每层楼有一到两人携带笔记本电脑和楼层布局在楼层内走动。对一层楼进行指纹识别的过程包括两个轮次:慢速和快速。慢速轮次用于收集训练数据,以开发我们的位置映射函数,而快速轮次用于收集验证数据,以验证位置映射函数。这两个轮次之间至少间隔两个小时,以防止训练数据集和验证数据集之间出现任何重叠。

在开始任一轮次的数据采集之前,数据采集软件会提示用户输入城市标识符、站点标识符、建筑标识符和楼层标识符。在慢速轮次中,用户需要在每个参考点停止,输入该参考点的标签,并允许软件收集所需的RSSI测量,直到软件提示用户前往下一个参考点。根据楼层大小,此活动耗时一到两个小时。在快速轮次中,用户需在不暂停的情况下依次经过各个参考点,并在整个行走过程中允许软件持续收集RSSI测量。通过优化上述流程,可在不到一周的时间内完成IBM印度所有楼层的指纹识别。

IV. 定位方法

在本节中,我们讨论基于数据的模型开发在楼层定位中的不同方面。我们首先介绍数据预处理。

A. 数据预处理

来自多个数据采集设备的原始Wi‐F指纹数据以分层文件夹结构传输到云端。这种分层结构为数据标注过程增加了冗余性。原始数据最初经过解析,以将数据帧整理为机器学习方法所需的行格式。解析过程调用多个数据过滤器来清理数据,例如,我们移除SSID(服务集标识符)名称中不包含“IBM”的样本。训练数据和模型验证数据分别来自慢速和快速数据采集文件夹。为了开发location mapping function,我们需要创建一个特征向量。在本例中,我们将每个唯一MAC地址视为一个特征。该特征向量包含在整个训练数据集中发现的所有特征。使用相同的特征向量通过填充相应列来构建验证数据。最后,数据集被标准化为均值为0,方差为1的高斯缩放。

B. 基于数据的模型

IBM分布在印度多个城市的数百个楼层中。为了便于数据收集、处理以及模型构建的并行化,我们将感兴趣的区域划分为五个不同的区域,每个区域包含大致相同数量的楼层1。每个区域通过区域数据收集管理器接收数据,并基于这些数据构建自己的楼层分类模型。此外,去中心化使得定位错误数据(标签错误的指纹数据)更加容易。

为了解决每个区域内的可扩展性问题,我们探索了一种层次结构框架。该框架的提出源于楼层分类问题的层次结构特性。我们的感兴趣区域分布在多个城市,具有以下层次结构
cityi→ site j → buildingk → floor.
在这种情况下,将建筑物内的楼层误分类的成本低于将建筑物、站点或城市误分类的成本。误分类成本随着层次结构级别的升高而增加。该问题通过[8]使用多标签分类器得以解决。我们的分层方法利用了企业环境中Wi‐F接入点MAC地址的唯一性。在楼层内部,每个Wi‐F接入点具有有限数量的MAC地址,这些MAC地址也可能出现在附近楼层的指纹数据中。然而,由于Wi‐F信号与发射器和接收器之间的距离成反比,因此该MAC地址出现在较远建筑物或站点中的概率几乎为零。

因此,我们的方法基于将来自Wi‐F指纹数据的楼层按照无交集的MAC地址进行聚类。这是一种确定性聚类方法,实际上消除了在城市和站点层级发生误分类的可能性。但在建筑物层级可能无法完全避免误分类,因为两栋建筑物可能距离过近,导致Wi‐F信号相互泄漏。在这种情况下,这两栋建筑物将被归为同一个簇。因此,我们消除了在更高层级上出现高代价的误分类错误层次结构。使用不相交的MAC地址集合来生成簇是构建层次结构的一种更可靠的方法,因为它依赖于基于数据的证据,而不是由人工生成的标签。在我们的方法中,我们本质上是扁平化了标签,并生成了一种新形式的层次结构
zoneg → clusterh →(cityi−sitej−buildingk−floor).
我们感兴趣区域的每个区域都由一组唯一的、不相交的MAC地址描述,因为每个区域在地理上相距较远,不会出现Wi‐F泄漏的情况。这些唯一的MAC地址用于构建区域选择器,以区分不同的区域。然而,每个区域可以在训练阶段进一步划分为不相交MAC地址的簇。

训练阶段

它包括以下步骤:
1) 由于训练数据集中的每个数据点都标有楼层信息,我们将属于每一楼层的所有MAC地址进行分组,并形成元组 〈floori,{MACIDs}i〉,其中i的取值范围为AOI内的总楼层数。
2) 我们迭代地比较所有元组〈floor{MACIDs}〉,以生成形式为〈 ̂floorsj, { ̂MACIDs}j〉的不相交的簇,其中 ̂floorsj是多个楼层的集合,{ ̂MACIDs}j是属于这些楼层中每一个楼层的所有MAC地址的并集(见算法1)。
3) 一旦AOI中的所有楼层都被划分为簇,就会构建一个簇选择器,用于区分区域内的不同簇。
4) 最后,针对每个簇训练一个分类器,目标是实现楼层定位。

区域选择器和簇选择器是基于唯一不相交MAC地址集合的过滤器。它们使我们能够将位置查询分配到适当的区域和簇。

测试阶段(定位阶段)

包括以下步骤:
1) 测试样本通过区域选择器,然后通过簇选择器,被分配到相应的区域和簇。
2) 使用该簇中训练数据所采用的相同因子对测试样本进行预处理。这包括归一化和主成分分析(如果使用)。
3) 使用相应的分类器获得测试样本的楼层预测。

示意图1

C. 实验

在本小节中,我们将比较一些常用的方法,用于构建分类器以作为分层方法中每个聚类的一部分。所有分类器均使用来自五个不同区域的预处理训练数据(来自慢速轮次),并通过 scikit-learn 库[14]构建。作为第二种方法,我们使用主成分分析(PCA)来降低层次结构中每个聚类的特征空间维度。选择主成分分析的组件数量时,保留了数据中60%的方差。这两种方法均使用快速轮次的验证数据测试其准确率(见图2)。此处,准确率可定义为正确分类数占总分类数的百分比。

分类。我们比较了以下楼层定位方法:
支持向量机(SVM)和朴素贝叶斯(NBayes)方法使用了 scikit‐learn 的默认设置。尽管这两种方法未经过优化,但其结果仍令人鼓舞。然而,与本文考虑的所有其他方法相比,这两种方法在我们的服务器上具有相对较高的测试时间。虽然服务器上的测试时间不应与在边缘进行定位所需的时间相混淆,但过长的测试时间使得vanilla版本的SVM和NBayes在基于边缘的实现中不太可取。

随机森林(RForest)使用区域1的数据进行了手动调优。我们使用了八十五棵决策树,以基尼杂质指数进行节点分割,每次最多一个特征分割,并将分割所需的最小样本数设置为十。相同的 RForest 超参数被用于所有区域,取得了不同程度的准确率。

多层感知机(ANN‐MLP)是一类前馈人工神经网络。我们使用的MLP具有两个隐藏层,每层的大小分别为1500和500。我们采用修正线性单元(ReLU)作为激活函数,因为其易于实现且具有时间效率。由于我们拥有相对较大的数据集,因此使用Adam方法对MLP参数进行随机优化。

这些超参数在区域1数据上手动调优。

示意图2

我们在图2中绘制了两种方法的准确率结果。图2中的蓝色条形表示采用分层方法进行聚类,然后构建位置分类器,标记为“聚类”。红色条形表示第二种方法,即在构建位置分类器之前,先对每个单个簇进行主成分分析以降低维度,标记为“聚类+主成分分析”。从图2可以看出,基于聚类+主成分分析的方法产生的准确率结果几乎与基于聚类的方法相同(甚至更好)。如果我们考虑区域3和4,所有分类器均产生这两种方法在这两个区域的准确率均较低。导致这两个区域准确率低的主要原因是来自这些区域的指纹数据质量较差。

经调查发现,由于人为错误,部分楼层的指纹数据被错误标记,此类错误需要对相关楼层重新进行指纹识别。这些楼层可通过混淆矩阵识别出来,混淆矩阵能够直观地显示被错误分类的楼层以及它们被误分为的楼层。研究发现,区域4中约有三分之一的楼层指纹数据存在错误。我们在图3中展示了在移除指纹数据质量差的楼层后,区域4的第二组准确率结果。

这些结果表明,在指纹数据良好的情况下,随机森林和人工神经网络‐多层感知机方法具有很高的分类潜力。随机森林和人工神经网络‐多层感知机的超参数均基于区域1的训练数据手动调整,并将相同的超参数应用于其他区域。然而,在后续工作中,这些方法将使用各自的训练数据集进行自动调优。

D. 结合主成分分析的分层方法的特征

在本文中,我们重点关注采用分层方法的基于边缘的实现中的人工神经网络‐多层感知机方法。接下来,我们将介绍一些特征,以支持我们对这一方法和途径的选择。

1) 分层方法减少了层次结构更高层级上的昂贵错误。
2) 聚类将降低模型的内存使用。
3) 使用基于主成分分析的特征降维(保留60%的方差),实现了约20‐25个维度的降维。从图2可以看出,降维对使用每个聚类所有特征获得的位置分类器的准确率几乎没有影响。这种降维将在系统成本方面显著节省存储、处理和通信资源。

这些观察结果使得结合主成分分析的分层方法成为我们基于边缘的实现的有力候选方案。因此,对于每个簇,我们对归一化后的训练数据应用主成分分析,并构建一个人工神经网络‐多层感知机分类器。这些模型(权重和偏置)连同用于边缘端归一化和主成分分析所需的因子一起下载到边缘设备上。利用这些组件,我们通过在边缘端执行一系列矩阵乘法、加法以及应用如ReLU和max等函数,来计算任意位置查询的输出标签。这一过程无需在边缘端使用任何机器学习库即可实现。

V. 系统架构

在本节中,我们介绍了为使边缘应用程序和云组件具备可扩展性和可靠性而采取的措施。首先介绍我们架构的一些重要方面。

员工隐私

提供按指定位置和项目维度划分的占用数据,需要在聚合之前估计每个个体的位置。为了保护员工个人隐私,该架构采用边缘感知和定位框架。边缘设备与企业服务通信以获取关于用户的匿名元数据,其中不包含员工唯一ID等用户可识别信息。对企业服务而言,在匿名化数据的同时,还需确保框架合并组中员工数量少于n个,其中n由组织策略确定。虽然可以将用户的匿名元数据连同Wi‐Fi信号强度发送至云端,并在云端进行定位,但这种方法存在潜在漏洞,可能使系统利用细粒度定位模型识别用户位置模式并反向映射到具体员工。为防止此类情况发生,我们的架构在边缘端同时完成感知和定位,仅将适当粒度的位置信息共享给服务器。一旦在边缘端确定位置,该位置信息将与匿名元数据合并后发送至云端。这确保了单个员工的位置信息永远不会超出其笔记本电脑的范围。

示意图3

企业隐私

为了使位置检测模型能够在边缘运行,而无论员工在企业中的位置如何,整个感兴趣区域的模型都需要存在于每个边缘设备中。这些数据包括楼层信息和楼层内接入点的MAC地址。为了防止这些数据被滥用,边缘设备中模型文件内的所有标签都经过加密。加密与解密仅在服务器端进行。

安全

在涉及占用数据等敏感信息的传输和存储时,安全至关重要。为确保数据传输的安全性,我们采用传输层安全(TLS),以防止任何人监听和理解数据。大部分通信通过基于超文本传输安全协议(HTTPS)的表述性状态转移(REST)服务进行。此外,为确保数据安全,我们遵循云端信息存储和检索的最佳实践[15]。

可靠性与鲁棒性

由于占用感知在边缘进行,因此确保感知服务永不中断至关重要。在企业规模下,即使少数设备发生故障,数据的可信度也会丧失。为了确保准确的占用信息,我们采用了多种故障保护、数据丢失防护和数据损坏防护技术,接下来将对此进行讨论。

在本小节中,我们将探讨我们架构中边缘、云端以及仪表板组件的关键特征。

Edge

边缘应用程序由三个并行运行的松散耦合服务组成:数据服务、更新服务和监控服务。接下来,我们将详细了解这些服务各自执行的任务。

Data Service :它是负责基于模型的定位以及将数据传回云端的核心服务。
• 它定期将加密的匿名员工元数据与企业数据库同步。由于元数据在服务器上是加密的,恶意用户无法篡改该元数据。
• 它定期探测Wi‐Fi模块(我们在试点中使用5分钟时间段),并记录Wi‐Fi信号数据。此任务不会触发扫描,而是利用缓存的Wi‐Fi信号信息,以避免给边缘设备带来不必要的负载。由于操作系统(OS)会定期刷新缓存,因此该数据已足够。
• 对Wi‐Fi信号数据执行推理以生成位置信息。它使用ANN模型(权重和偏置),这些模型会随着应用程序更新而更新,以执行推理。此阶段的结果是一个加密的位置标签。
• 将加密的位置标签与加密的匿名元数据一起上报至云服务器。它采用存储转发方法来处理所收集的数据,从而在网络不可用或其他错误情况下仍具备较强的鲁棒性。

Updater Service :更新服务的作用是确保模型和应用程序保持最新,并确保服务器可以使用控制机制来控制应用程序的特定方面。
• 它会定期检查服务器上的最新版本,如果云端的版本与边缘的版本不匹配,则会自动下载并安装。
• 它会查找服务控制消息,以便服务器能够向边缘发送消息以停止某项服务。在企业范围内扩展时,这一点非常必要,因为对于某些笔记本电脑配置而言,一些服务(如Wi‐Fi感知)可能会给用户带来障碍。这些障碍可能表现为关闭Wi‐Fi适配器。在这种情况下,对于这些特定的笔记本电脑,服务器可以指示边缘停止服务,直到将来的更新解决该问题。
• 为了防止更新器因丢失主机名或配置损坏,或无法检查更新而导致故障,系统配备了一种轻量级更新机制作为备用。该轻量级更新器硬编码了备用服务器主机名(托管在不同位置),服务器通过它来更新应用程序的关键组件。这使得更新器能够指向一个新的位置,从而让应用程序重新恢复正常运行。

Monitor Service :监控服务的作用是确保应用程序的正常运行,并报告状态和错误信息。
• 它会定期检查更新器和数据服务的状态,如果发现服务已停止,则会重新启动它们。
• 它定期向服务器报告服务状态,并在发生错误时发送日志。

这些服务具有以下特征,使其可靠且稳健。

服务正常运行时间 :在我们基于Windows OS的实现中,尽管已将服务设置为启用失败后重启选项,但我们注意到这些服务仍会停止运行。为了防止此类情况发生,我们利用Windows中的计划任务框架来定期启动服务(如果服务未运行)。在我们针对数百台机器进行的试点中,这一方法确保了高服务可用性。

服务独立性 :这些服务采用类微服务架构,每个服务都有其自身的任务,并且彼此独立运行。这使得系统能够对单个服务的故障保持鲁棒性。例如,数据服务由于损坏的模型而发生故障时,不会影响更新器和监控服务,后者将能够通过更新最新安装包来恢复服务。

服务内隔离 :服务内架构可实现服务内不同功能之间的隔离。例如,尽管Wi‐Fi数据感知和位置解析均位于数据服务内部,但它们作为两个不同的线程运行,仅通过平面文件进行交互。这确保了当位置解析模块出现故障时,感知模块仍能继续缓存原始数据,待问题修复后继续使用。

轻量级启动 :由于这些服务在系统启动时开始运行,如果启动过程过于繁重,会减慢计算机的启动速度,并可能导致因超时而引发的服务启动失败。因此,这些服务的设计确保只有服务的关键部分(例如加载配置)在启动时执行,其他启动流程则在首次触发时进行。

多级异常处理 :这些服务在不同级别设计了异常捕获所有代码块,以确保任何异常都不会导致服务终止,而只会被记录下来。这些日志随后由监控服务传输到服务器。

Cloud

我们应用程序的云组件托管在IBM云中,包括存储和Web服务。
Location Database :我们使用MongoDB作为数据库,用于存储边缘设备发送的匿名化位置数据。选择数据库时,灵活的模式是主要考虑因素之一。
Object Store :它用于存储更新器文件和其他安装程序组件。
Enterprise Database :这是企业的用户数据库,包含有关用户参与的项目及其指定位置的信息。

作为我们应用程序的一部分,我们在云端使用以下网络服务:
Metadata Webservice :元数据Web服务连接企业用户数据库,获取请求用户的相关匿名化数据(指定项目和位置),使用双向加密对其进行加密,并将其传回边缘的数据服务。
Data Webservice :边缘中的数据服务将数据推送到此Web服务。该Web服务负责检查数据的完整性,将位置标签和匿名化用户元数据解密为纯JSON格式,然后将数据插入位置数据库。
Monitor Webservice :它存储由边缘设备中的监控服务发送的各种状态日志。
Updater Webservice :它使边缘的更新服务能够检查更新,并提供更新文件。它还可以根据用户和请求机器提供不同版本的更新文件。该Web服务有两个版本(主版本和备用版本),部署在两台不同的服务器上。备用服务器为轻量级更新器提供服务。
服务控制 :此Web服务向边缘处的更新服务提供应停止哪些服务的信息。仅在发现严重漏洞时使用,且必须在修补后服务才能继续运行。
仪表板Web服务 :它提供了将聚合数据呈现给本解决方案最终用户所需的功能。

用户设备上的仪表板 :基于Web的仪表板显示占用率的可视化信息。它为认证用户提供时间序列视图、趋势视图和利用率视图。每种视图均允许按检测到的位置、指定项目、指定位置以及时间对数据进行筛选。其中,时间序列视图提供如图5所示的原始数据可视化,趋势视图允许用户查看按周或月折叠的数据,而利用率视图则显示占用情况与指定用户数量对比。

示意图4

VI. 部署和试点

为了在企业规模上实现顺利部署,需要解决一些关键问题。必须与企业数据源集成,以确保占用报告的准确性,从而获得准确的洞察。在数百个客户端上进行边缘部署时,利用企业终端管理解决方案(如 IBM BigFix[16])可以简化部署过程。应用程序安装/卸载过程还具备状态报告功能,有助于监控应用程序的推出情况。此外,还需在企业的防病毒和防火墙解决方案中对应用程序进行白名单设置,并对可执行文件进行数字签名,以避免误报,确保应用程序能够正常与服务器进行数据通信。

对于试点项目,IBM印度的offline指纹识别和模型构建过程如第三和第四节所述进行。在三层楼范围内试点实施了online流程,并通过自动安装过程部署了应用程序。来自这些位置的实时报告提供了各楼层每15分钟时间段的详细占用率特征洞察。图5展示了其中一个样本快照。通过人工计数各楼层用户数量的方式进行人工验证,以确认占用率估计的准确性。该方法相较于人工计数结果高估了5%。经调查发现,人工计数无法捕捉到会议室中的员工,而我们的解决方案能够检测到这些员工的存在。对会议室中员工的检测可归因于在Wi‐Fi指纹识别过程中包含了会议室。

试点项目的准确率结果优于模型验证实验的结果。这可能由多种原因导致:更优的指纹数据、经过良好调优的ANN‐MLP,或位置查询中无异常值。第三个原因在于发起位置查询的员工通常位于工位内,这些区域相比楼层的角落或窗户区域,来自附近楼层的信号泄漏相对较少。为进一步扩大部署范围,我们还可以进一步提升占用率估计方法的准确性。例如,可采用移动时间窗口对员工进行定位,并取该时间窗口内所有预测结果中最频繁的结果作为最终输出。

VII. 结论

本文提出了一种面向多城市、多栋建筑、多层楼的大规模企业,注重隐私且基于边缘计算的占用感知机制。我们的试点结果表明,该系统在统计用户数量方面比人工计数更准确,这证实了该方案的稳定性和鲁棒性。我们的架构和经验具有可复用性,可应用于需要大规模部署的多种边缘解决方案。我们计划扩展所开发的框架,以实现为员工提供个性化上下文/位置服务。我们将探索改进指纹识别工具的方法,以增强其抗人为错误的能力,并提升位置检测模型的准确率和更细粒度的精度。在边缘方面,我们将致力于通过调整多个参数来优化数据传输对Wi-Fi模块进行探测的频率以及每次预测所使用的探测数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值