针对手机传感器的非刻意性数据的采集方法与流程

文档序号:22622426发布日期:2020-10-23 19:28阅读:153来源:国知局
针对手机传感器的非刻意性数据的采集方法与流程

本发明涉及数据采集的方法,具体讲是针对手机传感器的非刻意性数据的采集方法。



背景技术:

手机上通常都具有各种传感器,包括加速度传感器、磁场传感器、方向传感器等。这些传感器可以实时采集手机沿三轴方向的加速度、沿三轴方向旋转的角速度、地磁场强度矢量等数据。同时也可以通过这些数据对手机持有人的行为进行分析。部分数据标注公司基于手机传感器提供行为数据采集业务,在采集过程中使用的常规方法如下:

常规的行为数据采集方法是埋点,通过在需要采集的行为数据的某个过程中加入采集代码,并以某些事件作为这个过程的开始以及结束的标志。例如从输入账号开始到点击登录结束、从拍照开始到上传图片结束等过程。当被采集人触发被标记为开始的事件的时候,采集代码会被执行,当被采集人触发被标记为结束的事件时,采集代码结束运行。采集的开始与结束通过被采集人主动触发开始事件以及结束事件控制。

这种数据采集方式的缺陷包括:

1、需要被采集人主动触发开始以及结束采集,这可能会导致一些脏数据被收集。例如在收集走路对应的行为数据时,被采集人点击开始按钮放下手机并开始走路,这一段过程中,“放下手机”这一步骤的传感器数据会被采集。

2、当被采集人得知自己正在被采集时可能会做出一些刻意性行为,导致采集数据与实际场景存在误差。



技术实现要素:

本发明提供了一种针对手机传感器的非刻意性数据的采集方法,以实现一控制端、多采集端的结构,并且使被采集人不用自己控制采集的起止,在不知采集过程的情况下进行正常行为的数据采集。

本发明针对手机传感器的非刻意性数据的采集方法,包括步骤:

a.被采集人开启手机,手机与后台的控制端通过通信通道自动建立websocket连接,并生成连接id;

b.控制人员在控制端选择对应的连接id,并至少标识出包含本次采集的场景和被采集的行为的拓展信息,点击开始采集的按键,将开始采集的指令通过websocket连接发送给所述手机;

c.所述手机根据接收到的指令,通过手机内的传感器监听器对手机内的传感器开始采集数据,所述传感器包括手机加速度传感器、磁场传感器和/或方向传感器,并实时将采集的数据通过websocket连接发送到控制端;

d.控制端通过连接id,向正在采集数据的手机发送停止采集的指令;

e.接收到停止采集指令的手机终止采集数据。

被采集人事先知道会被采集手机数据,因此在开启手机后,手机能够与后台的控制端通过通信通道自动建立websocket连接,并生成相应的连接id。所述的手机数据主要是针对手机的方向或空间性的数据,例如手机实时的加速度、磁场强度、手机朝向和/或旋转等数据。由于被采集人不知道何时何地会进行数据采集,因此在控制人员对其手机进行数据采集时,其行为既没有刻意性的行为,也不会有因为由被采集人控制采集开始到开始正常采集这段时间内的冗余数据。实现了数据的客观性和准确性,并且控制人员还可以在控制端同时控制多个被采集的手机,实现了一个控制端、多个被采集端的采集方式。

具体的,步骤a包括:

a1.手机通过通信通道自动向后台的控制端发送websocket连接请求;

a2.控制端根据接收的所述websocket连接请求建立连接,将生成的uuid(通用唯一识别码,universallyuniqueidentifier)作为当前的连接id,发送给手机;

a3.控制端标识当前连接对应的手机状态为未采集,并以当前的连接id为键,手机状态为值建立键-值对,将所述键-值对存入数据库(例如redis数据库)中;

a4.手机向连接id反馈发送给控制端,作为已建立连接的响应。

具体的,步骤b包括:

b1.控制人员通过控制端获取包含所有连接id的列表,并选择其中至少一个连接id,并至少标识出包含本次采集的场景、被采集的行为和采集人员的拓展信息,然后点击开始采集的按键。根据采集的需要,在标识的拓展信息中还可以包括采集时长,在开始采集后通过控制端中的计时器计时,达到采集时长后控制端便自动执行步骤d,向手机发送停止采集的指令。

b2.以选择的连接id为查询条件,在数据库中查询到该连接id对应的数据,将所述的拓展信息添加为该数据的值,并在数据库中修改该数据中手机状态为正在采集;

b3.将开始采集的指令通过websocket连接发送给连接id对应的手机。

具体的,步骤d包括:

d1.控制人员通过控制端选择连接id或者控制端根据连接id对应设置的采集时长,向正在采集数据的手机发送停止采集的指令;

d2.以选择的连接id为查询条件,在数据库中查询到该连接id对应的数据,将该数据中的手机状态修改为停止采集。

具体的,步骤e包括:接收到停止采集指令的手机终止采集数据,并且注销掉手机内的传感器监听器。

本发明针对手机传感器的非刻意性数据的采集方法,能够通过一个控制端对多个手机同时进行数据采集,并且能够在被采集人不知采集起止的情况下进行正常行为的数据采集,有效减少了采集时的脏数据。并且控制端与被采集的手机之间可以双向通讯,控制端能够实时控制对手机的采集状态。

以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。

附图说明

图1为本发明针对手机传感器的非刻意性数据的采集方法的流程图。

具体实施方式

如图1所示本发明针对手机传感器的非刻意性数据的采集方法,包括步骤:

a.建立连接,包括步骤:

a1.被采集人开启手机,手机通过通信通道自动向后台的控制端发送websocket连接请求;

a2.控制端根据接收的所述websocket连接请求建立连接,将生成的uuid(通用唯一识别码,universallyuniqueidentifier)作为当前的连接id,发送给手机;

a3.控制端标识当前连接对应的手机状态为未采集,并以当前的连接id为键,手机状态为值建立键-值对,将所述键-值对存入redis数据库中;

a4.手机向连接id反馈发送给控制端,作为已建立连接的响应。

b.发送采集数据指令:

b1.控制人员通过控制端获取包含所有连接id的列表,并选择其中至少一个连接id,并至少标识出包含本次采集的场景、被采集的行为和采集人员的拓展信息,然后点击开始采集的按键。根据采集的需要,在标识的拓展信息中还可以包括采集时长,在开始采集后通过控制端中的计时器计时,达到采集时长后控制端便自动执行步骤d,向手机发送停止采集的指令。

b2.以选择的连接id为查询条件,在redis数据库中查询到该连接id对应的数据,将所述的拓展信息添加为该数据的值,并在redis数据库中修改该数据中手机状态为正在采集;

b3.将开始采集的指令通过websocket连接发送给连接id对应的手机。

c.开始采集数据:所述手机根据接收到的指令,通过手机内的传感器监听器对手机内的传感器开始采集数据,所述传感器包括手机加速度传感器、磁场传感器和/或方向传感器,并实时将采集的数据通过websocket连接发送到控制端。

d.发送停止采集数据指令:

d1.控制人员通过控制端选择连接id或者控制端根据连接id对应设置的采集时长,向正在采集数据的手机发送停止采集的指令;

d2.以选择的连接id为查询条件,在redis数据库中查询到该连接id对应的数据,将该数据中的手机状态修改为停止采集。

e.停止采集数据:接收到停止采集指令的手机终止采集数据,并且注销掉手机内的传感器监听器。

被采集人事先知道会被采集手机数据,因此在开启手机后,手机能够与后台的控制端通过通信通道自动建立websocket连接,并生成相应的连接id。所述的手机数据主要是针对手机的方向或空间性的数据,例如手机实时的加速度、磁场强度、手机朝向和/或旋转等数据。由于被采集人不知道何时何地会进行数据采集,因此在控制人员对其手机进行数据采集时,其行为既没有刻意性的行为,也不会有因为由被采集人控制采集开始到开始正常采集这段时间内的冗余数据。实现了数据的客观性和准确性,避免了采集过程中的脏数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1