一种补全位置数据的方法及装置与流程

文档序号:18832291发布日期:2019-10-09 03:50阅读:259来源:国知局
一种补全位置数据的方法及装置与流程

本发明涉及移动互联网领域,特别涉及一种补全位置数据的方法及装置。



背景技术:

目前,用户位置数据的分析和利用是移动互联网的关键基础能力,对政府城市发展规划、公共安全安防管控、交通规划、商品零售、物流等各行各业都起到关键核心的作用。然而,在采集位置数据的过程中,数据缺失的现象经常出现,导致位置数据不全,影响数据的有效性和可用性。

针对位置数据缺失现象,现有技术一般采用循环方式依次补全,但是这种方式存在补全效率低,计算成本高的问题。



技术实现要素:

本发明实施例提供一种补全位置数据的方法及装置,用于解决现有技术补全位置数据效率低、计算成本高的技术问题。

第一方面,本发明实施例提供一种补全位置数据的方法,包括:

将预定时间段划分为相同大小的m个子区间,一个子区间对应一个桶;

将用户终端在所述预定时间段内的所有位置数据填充到不同的桶中,其中一个位置数据表征所述用户终端在一具体时刻所处的地理位置;

分别识别各个桶为空桶或非空桶;其中,所述空桶为没有填充位置数据的桶;

在确定有空桶存在时,根据非空桶的位置数据对空桶缺失的位置数据进行补全。

上述方案通过将存在位置数据缺失情况的预定时间段内的所有位置数据填充到不同的桶中,然后识别各个桶为空桶或非空桶,在根据识别结果确定存在空桶时,根据非空桶的位置数据对空桶缺失的位置数据进行补全,可以实现一次性批量补全该预定时间段内缺失的位置数据的技术效果,相较于现有技术循环依次补全的方式,本方案补全效率更高,计算成本更低。

可选的,所述位置数据包括所述用户终端的标识、时刻以及所述用户终端在所述时刻所处的地理位置的信息;所述将用户终端在所述预定时间段内的所有位置数据填充到不同的桶中,包括:分别根据各个位置数据自身的时刻,按照插入排序的方法,将各个位置数据填充到自身的时刻所属子区间对应的桶中,以使各个桶中填充的位置数据在桶中按照时刻从小到大的顺序排列。

本方式根据各个位置数据自身的时刻,按照插入排序的方法,将各个位置数据填充到自身的时刻所属子区间对应的桶中,使得各个桶中填充的位置数据在桶中按照时刻从小到大的顺序排列,使得后续在补全空桶缺失的数据时能够更加便捷迅速地获取补全所需的非空桶的位置数据。

可选的,所述根据非空桶的位置数据对空桶缺失的位置数据进行补全,包括:将距离任一空桶最近的前一个非空桶中最后一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最小时刻。

可选的,所述根据非空桶的位置数据对空桶缺失的位置数据进行补全,包括:将距离任一空桶最近的后一个非空桶中最前一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最大时刻。

以上两种可选的实施方式,分别采用位于空桶前的最近非空桶中最后一个位置数据、位于空桶后的最近非空桶中最前一个位置数据填充空桶,使得补全的位置数据更加接近空桶缺失的真实的位置数据,提高了位置数据补全的准确性。

可选的,所述位置数据的类型包括电信网络注册位置数据、全球定位系统(globalpositioningsystem,gps)数据、无线网-物理地址(wifi-mac)数据中的至少一项。

通过本方式,可以对电信网络注册位置数据、gps数据、wifi-mac数据中任意类型位置数据进行补全,技术方案适用性高。

可选的,所述预定时间段的长度为24h。

通过本方式,可以以一天为周期,对用户终端在一天时间内缺失的位置数据进行批量补全,补全效率高、计算成本低。

第二方面,本发明实施例提供一种补全位置数据的装置,包括:填充单元,用于将预定时间段划分为相同大小的m个子区间,一个子区间对应一个桶;将用户终端在所述预定时间段内的所有位置数据填充到不同的桶中,其中一个位置数据表征所述用户终端在一具体时刻所处的地理位置;识别单元,用于分别识别各个桶为空桶或非空桶;其中,所述空桶为没有填充位置数据的桶;补全单元,用于在确定有空桶存在时,根据非空桶的位置数据对空桶缺失的位置数据进行补全。

可选的,所述位置数据包括所述用户终端的标识、时刻以及所述用户终端在所述时刻所处的地理位置的信息;所述填充单元用于:分别根据各个位置数据自身的时刻,按照插入排序的方法,将各个位置数据填充到自身的时刻所属子区间对应的桶中,以使各个桶中填充的位置数据在桶中按照时刻从小到大的顺序排列。

可选的,所述补全单元用于:将距离任一空桶最近的前一个非空桶中最后一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最小时刻。

可选的,所述补全单元用于:将距离任一空桶最近的后一个非空桶中最前一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最大时刻。

可选的,所述位置数据的类型包括电信网络注册位置数据、gps数据、wifi-mac数据中的至少一项。

可选的,所述预定时间段的长度为24h。

第三方面,本发明实施例提供一种补全位置数据的设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例技术方案通过将存在位置数据缺失情况的预定时间段内的所有位置数据填充到不同的桶中,然后识别各个桶为空桶或非空桶,在根据识别结果确定存在空桶时,根据非空桶的位置数据对空桶缺失的位置数据进行补全,可以实现一次性批量补全该预定时间段内缺失的位置数据的技术效果,相较于现有技术循环依次补全的方式,本发明实施例技术方案补全效率更高,计算成本更低。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中补全位置数据的方法的流程示意图;

图2为本发明实施例中将位置数据填充到桶的示意图;

图3为本发明实施例中插入排序的示意图;

图4为本发明实施例中结果链的示意图;

图5为本发明实施例中补全空桶缺失的位置数据的示意图;

图6为本发明实施例中补全位置数据的装置的结构示意图;

图7为本发明实施例中补全位置数据的设备的结构的示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。

本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

近年来在移动互联网迅猛发展的推动下,以智能手机等移动设备为载体的移动社交网络的兴起,极大地方便了人与人之间的社交活动,并正深入影响人们的社会生活方式。作为移动社交网络的主体,人的移动性带来的位置轨迹不仅记录了人的行为历史,也记录了人与社会的交互活动信息。位置轨迹数据的分析与利用,已经成为移动互联网的关键基础能力,对政府城市发展规划、公共安全安防管控、交通规划、商品零售、物流等各行各业都起到关键核心的作用。

现有位置数据的采集方式基本上都是通过用户终端上所安装的应用程序(application,app)将智能终端上的电信网络注册位置数据、gps数据、wifi-mac数据等位置相关数据进行选择性的采集。在采集位置数据后,根据业务需求和电子地图,在app客户端或者服务端进行计算,服务用户所需的应用。

但是,位置数据采集的过程中,因用户终端、网络、采集传输、数据处理等多个环节的因素导致数据缺失的现象经常出现,导致位置数据不全,影响数据有效性和可用性。

现有技术针对位置数据的缺失,往往采用循环的方式依次补全。例如,设置补全周期为1小时,针对0点有位置数据缺失的客户提取该客户前一天最后一条位置数据进行补全,然后用0点的位置数据补全1点缺失的数据,然后用2点的位置数据补全3点缺失的数据,……,如此循环24次完成客户全天缺失的位置数据的补全工作。

然而,在实际情况中,用户的位置数据量非常庞大,这种循环依次补全缺失数据的计算方式耗时长,在针对全量客户缺失的位置数据进行补全时,需要大量的计算资源投入,如何降低计算成本是目前亟待解决的问题。

为了解决现有技术补全位置数据效率低、计算成本高的技术问题,本发明实施例提供一种补全位置数据的方法及装置。其中,本发明所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。参照图1,该补全位置数据的方法包括:

步骤101:将预定时间段划分为相同大小的m个子区间,一个子区间对应一个桶;将用户终端在所述预定时间段内的所有位置数据填充到不同的桶中。

其中,一个位置数据表征一个用户终端在一具体时刻所处的地理位置,具体可包括用户终端的标识、时刻以及该用户终端在该时刻所处的地理位置的信息。在具体实施过程中,位置数据可以用时间序列数组表示,例如图2所示,时间序列数组包含时序标识、位置、人三个元素,其中时序标识表征具体的时刻,时序标识的值越大,表征的时刻越大,位置即为用户终端的地理位置,人即为用户终端的标识。

其中,位置数据的来源可以有多种实现方式,比如位置数据可以是电信网络注册位置数据,或者是gps数据,或是wifi-mac数据等,还可以是以上多种类型数据的组合,本发明实施例对位置数据的类型不做具体限制。

其中,预定时间段的长度可以人为设定,如一周、一天、一小时等,本发明实施例不做具体限制。以一天为例,参照图2,将桶周期(即子区间的长度)设定为1小时,那么预定时间段24h被划分成相同大小的24个子区间,对应24个桶,桶1~桶24对应的子区间分别为:0:00~1:00、1:00~2:00,……,23:00~24:00。

在具体实施过程中,将位置数据填充到不同的桶的具体实现方式包括:分别根据各个位置数据自身的时刻(位置数据自身的时刻可以是采集该位置数据中地理位置信息的时刻),按照插入排序的方法,将各个位置数据填充到自身的时刻所属子区间对应的桶中,以使各个桶中填充的位置数据在桶中按照时刻从小到大的顺序排列。

在具体实施过程中,上述将位置数据填充到不同的桶的步骤的具体实现可通过执行计算机代码完成。在桶排序算法的代码中,对每个待排序的时间序列数组整体取值,使得每个时间序列数组均满足0≤a[i]<1,时间序列数组自身的时序标识越大,时间序列数组的整体取值越大。另外还需要一个辅助数组b[o..n-1]来存放链表实现的桶,并假设可以用某种机制来维护这些表。

桶排序的算法如下(伪代码表示),其中floor(x)是地板函数,表示不超过x的最大整数:

procedurebin_sort(vara:list);begin

n:=length(a);

fori:=1tondo

将a[i]插到表b[floor(n*a[i])]中;

fori:=0ton-1do

用插入排序对表b[i]进行排序;

将表b[0],b[1],...,b[n-1]按顺序合并;

end;

select

a.桶编号,b.时序,b.其他属性,b.max(标识)

from桶a,轨迹b

ona.桶编号=left(b.时序,2)

其中,上述插入排序的基本思想是:每步将一个待排序的数组,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止,图3为插入过程表示例,图4为最终得到的结果链表示例。

步骤102:分别识别各个桶为空桶或非空桶。

其中,所述空桶即为没有填充位置数据的桶,包括独立空桶(即与该空桶前后相邻的两个桶均为非空桶)和连续空桶。

在具体实施过程中,为了便于后续对空桶进行数据补全,在识别到空桶时,可进一步将该空桶最近的非空桶进行标识,该最近的非空桶可以是位于该空桶前的最近非空桶,也可以是位于该空桶后的最近非空桶,当然本领域技术人员也可以合理选择其他非空桶进行标识,本发明实施例不做具体限制。

步骤103:在确定有空桶存在时,根据非空桶的位置数据对空桶缺失的位置数据进行补全。

基于步骤102的具体实现方式,如果标识的是位于空桶前的最近非空桶,那么步骤103的具体实现方式可以为:将距离任一空桶最近的前一个非空桶中最后一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最小时刻。类似的,基于步骤102的具体实现方式,如果标识的是位于空桶后的最近非空桶,那么步骤103的具体实现方式可以为:将距离任一空桶最近的后一个非空桶中最前一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最大时刻。

例如,参照图5,桶5为独立空桶,且在执行步骤102时标识的是位于空桶前的最近非空桶(即桶4),则可将桶4中的最大时序标识的时间序列数组填充到桶5中,并将填充在桶5中的时间序列数组的时序标识更替为桶5内的最小时序标识040000,进而实现对独立空桶的数据补全。对于连续空桶7、桶8,则可将桶6中的最大时序标识的时间序列数组同时填充到桶7和桶8,然后将填充到桶7的时间序列数组的时序标识更替为桶7内的最小时序标识060000,将填充到桶8的时间序列数组的时序标识更替为桶8内的最小时序标识070000,进而实现对连续空桶的数据补全。

上述方案通过将存在位置数据缺失情况的预定时间段内的所有位置数据填充到不同的桶中,然后识别各个桶为空桶或非空桶,在根据识别结果确定存在空桶时,根据非空桶的位置数据对空桶缺失的位置数据进行补全,可以实现一次性批量补全该预定时间段内缺失的位置数据的技术效果,相较于现有技术循环依次补全的方式,本发明实施例技术方案补全效率更高,且计算成本更低;

其次,上述方案在将预定时间段内位置数据填充到不同的桶中时,根据各个位置数据自身的时刻,按照插入排序的方法,将各个位置数据填充到自身的时刻所属子区间对应的桶中,使得各个桶中填充的位置数据在桶中按照时刻从小到大的顺序排列,使得后续在补全空桶缺失的数据时能够更加便捷迅速地获取补全所需的非空桶的位置数据,进一步提高补全效率;

不仅如此,上述方案在补全空桶缺失的位置数据时,提供了多种补全方式,例如采用位于空桶前的最近非空桶中最后一个位置数据填充空桶、采用位于空桶后的最近非空桶中第一个位置数据填充空桶等,补全方式灵活,且准确性高。

需要说明的是,本发明实施例技术方案除了可以在电信类位置数据处理场景中使用外,也可适用于其它与时序相关的数据处理场景,本发明实施例不做限制。

基于同一发明构思,本发明实施例还提供一种补全位置数据的装置,参照图6,包括:

填充单元201,用于将预定时间段划分为相同大小的m个子区间,一个子区间对应一个桶;将用户终端在所述预定时间段内的所有位置数据填充到不同的桶中,其中一个位置数据表征所述用户终端在一具体时刻所处的地理位置;

识别单元202,用于分别识别各个桶为空桶或非空桶;其中,所述空桶为没有填充位置数据的桶;

补全单元203,用于在确定有空桶存在时,根据非空桶的位置数据对空桶缺失的位置数据进行补全。

可选的,所述位置数据包括所述用户终端的标识、时刻以及所述用户终端在所述时刻所处的地理位置的信息;所述填充单元201用于:

分别根据各个位置数据自身的时刻,按照插入排序的方法,将各个位置数据填充到自身的时刻所属子区间对应的桶中,以使各个桶中填充的位置数据在桶中按照时刻从小到大的顺序排列。

可选的,所述补全单元203用于:

将距离任一空桶最近的前一个非空桶中最后一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最小时刻。

可选的,所述补全单元203用于:

将距离任一空桶最近的后一个非空桶中最前一个位置数据填充到所述任一空桶中,并将所述任一空桶中填充的位置数据的时刻设置为所述任一空桶对应的子区间上的最大时刻。

可选的,所述位置数据的类型包括电信网络注册位置数据、gps数据、wifi-mac数据中的至少一项。

可选的,所述预定时间段的长度为24h。

以上各单元所执行操作的具体实现方式可以参照本发明实施例上述补全位置数据的方法中对应步骤的实现方式,本发明实施例不再赘述。

基于同一发明构思,本发明实施例还提供一种补全位置数据的设备,参照图7,包括:

至少一个处理器301,以及

与所述至少一个处理器301通信连接的存储器302;

其中,所述存储器302存储有可被所述至少一个处理器301执行的指令,所述至少一个处理器301通过执行所述存储器302存储的指令执行本发明实施例上述补全位置数据的方法。

基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例上述补全位置数据的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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