为大数据添加索引的系统和方法技术方案

技术编号:22334415 阅读:41 留言:0更新日期:2019-10-19 13:05
一种为数据添加索引的方法包括获取至少两个数据点,所述数据点中的每一个包括空间信息。该方法还包括基于空间信息将至少两个数据点划分为至少两个数据块,并且为至少两个数据块中的每一个确定数据块编号。该方法还包括基于预估分布和数据块编号将至少两个数据块划分为至少两个分区,并基于至少两个数据块的数据块编号确定至少两个分区中的每一个的分区编号。该方法还包括基于至少两个数据块的数据块编号和至少两个分区的分区编号,为所述至少两个数据点中的每一个确定索引。

System and method of adding index for big data

【技术实现步骤摘要】
【国外来华专利技术】为大数据添加索引的系统和方法
本申请一般涉及空间大数据的管理,更具体地,涉及为空间大数据添加索引的系统和方法。
技术介绍
在互联网时代,在线按需服务平台可以从其用户或其他实体接收包括用户的实时或历史位置的空间大数据。空间大数据可以通过例如范围查询、k-最近邻(KNN)算法或空间连接算法来处理。然而,由于空间大数据中的数据点的数量非常大并且无序,因此难以有效地处理空间大数据。因此,希望提供为数据添加索引的系统和方法,以使数据有序并易于处理。
技术实现思路
根据本申请的第一方面,一种为数据添加索引的系统可以包括一个或以上存储设备,并且一个或以上处理器被配置用于与一个或以上存储设备通信。一个或以上存储设备可以包括一组指令。当所述一个或以上处理器执行所述组指令时,所述一个或以上处理器可以用于执行一个或以上以下操作。一个或以上处理器可以获取至少两个数据点,所示数据点中的每一个包括空间信息。一个或以上处理器可以基于至少两个数据点的空间信息将至少两个数据点划分为至少两个数据块。一个或以上处理器可以为至少两个数据块中的每一个确定数据块编号。一个或以上处理器可以获取至少两个数据点的预估分布。一个或以上处理器可以基于至少两个数据点的预估分布和至少两个数据块的数据块编号,将至少两个数据块划分为至少两个分区。一个或以上处理器可以基于至少两个数据块的数据块编号通过对至少两个分区进行排序来确定至少两个分区中的每一个的分区编号。一个或以上处理器可以基于至少两个数据块的数据块编号和至少两个分区的分区编号来为至少两个数据点中的每一个确定索引。在一些实施例中,对于至少两个分区中的每一个,一个或以上处理器可以基于分区中包括的数据块的数据块编号对包括在分区中的数据块进行排序。在一些实施例中,至少两个数据点中的每一个还可以包括用户的用户标识。在一些实施例中,对于至少两个分区中的每一个,一个或以上处理器可以基于至少两个数据点的用户标识将分区中的数据点重新划分为至少两个子分区。在一些实施例中,基于至少两个数据点将至少两个分区中的每一个的数据点重新划分为至少两个子分区,对于分区中的每个数据点,一个或以上处理器可以确定对应于数据点的用户标识的哈希值。一个或以上处理器可以通过将哈希值除以整数来获取余数。一个或以上处理器可以将对应于相等余数的数据点放入相同的子分区。一个或以上处理器可以基于与分区中的数据点对应的余数来确定至少两个子分区中的每一个的子分区编号。在一些实施例中,为了获取至少两个数据点的预估分布,一个或以上处理器可以从至少两个数据块中选择一个或以上数据块。对于所选择的一个或以上数据块中的每一个,一个或以上处理器可以确定在所选择的一个或以上数据块中包括的每一个的数据点的总数。一个或以上处理器可以基于所选择的一个或以上数据块中的每一个中的数据点的总数来确定至少两个数据点的预估分布。在一些实施例中,一个或以上处理器可以基于空间填充曲线确定多个数据块中的每一个的数据块编号。根据本申请的另一方面,一种为数据添加索引的方法可以包括以下操作的一个或以上。一个或以上处理器可以获取至少两个数据点,所示数据点中的每一个包括空间信息。一个或以上处理器可以基于至少两个数据点的空间信息将至少两个数据点划分为至少两个数据块。一个或以上处理器可以为至少两个数据块中的每一个确定数据块编号。一个或以上处理器可以获取至少两个数据点的预估分布。一个或以上处理器可以基于至少两个数据点的预估分布和至少两个数据块的数据块编号,将至少两个数据块划分为至少两个分区。一个或以上处理器可以基于至少两个数据块的数据块编号通过对至少两个分区进行排序来为至少两个数据点中的每一个确定索引。一个或以上处理器可以基于至少两个数据块的数据块编号和至少两个分区的分区编号来确定至少两个数据点中的每一个的索引。根据本申请的又一方面,非暂时性计算机可读介质可包括至少一个一组指令。至少一个一组指令可以由计算机服务器的一个或以上处理器执行。一个或以上处理器可以获取至少两个数据点,所述数据点中的每一个包括空间信息。一个或以上处理器可以基于至少两个数据点的空间信息将至少两个数据点划分为至少两个数据块。一个或以上处理器可以为至少两个数据块中的每一个确定数据块编号。一个或以上处理器可以获取至少两个数据点的预估分布。一个或以上处理器可以基于至少两个数据点的预估分布和至少两个数据块的数据块编号将至少两个数据块划分为至少两个分区。一个或以上处理器可以基于至少两个数据块的数据块编号通过对至少两个分区进行排序来确定至少两个分区中的每一个的分区编号。一个或以上处理器可以基于至少两个数据块的数据块编号和至少两个分区的分区编号来为至少两个数据点中的每一个确定索引。根据本申请的又一方面,一种为数据添加索引的系统可以包括被配置的获取模块,用于获取至少两个数据点,每个数据点包括空间信息。该系统还可以包括块确定模块被配置为基于至少两个数据点的空间信息将至少两个数据点划分为至少两个数据块并且为至少两个数据块的每一个确定数据块编号。该系统还可以包括分配获取模块被配置以获取至少两个数据点的预估分布。该系统还可以包括分区确定模块被配置为基于至少两个数据点的预估分布和至少两个数据块的数据块编号将至少两个数据块划分为至少两个分区,并且基于至少两个数据块的数据块编号,通过对至少两个分区进行排序,确定至少两个分区中的每一个的分区编号。该系统还可以包括索引确定模块被配置用于基于至少两个数据块的数据块编号和至少两个分区的分区编号来为至少两个数据点中的每一个确定索引。本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。附图说明本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:图1是根据本申请的一些实施例所示的示例性按需服务系统的示意图;图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图,在该计算设备上可以实现处理引擎;图3是根据本申请的一些实施例所示的可在其上实现一个或以上终端的移动设备的示例性硬件和/或软件组件的示意图;图4是根据本申请的一些实施例所示的示例性处理引擎的框图;图5是根据本申请的一些实施例所示的用于确定至少两个数据点中的每一个的索引的示例性过程的流程图;图6是说明用于将分区重新划分为一个或以上子分区的示例性过程的示意图;以及图7是根据本申请的一些实施例所示的用于确定至少两个数据点的预估分布的示例性过程的流程图。具体实施方式以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。本申请中所使用的术语仅用于描述特定本文档来自技高网...

【技术保护点】
1.一种为数据添加索引的系统,包括:一个或以上存储介质,包括一组指令;以及一个或以上处理器被配置为与所述一个或以上存储介质进行通信,其中,当执行所述一组指令时,所述一个或以上处理器被指示使所述系统:获取至少两个数据点,所述数据点中的每一个包括空间信息;基于所述至少两个数据点的所述空间信息,将所述至少两个数据点划分为至少两个数据块;确定所述至少两个数据块中的每一个的数据块编号;获取所述至少两个数据点的预估分布;基于所述至少两个数据点的所述预估分布和所述至少两个数据块的所述数据块编号,将所述至少两个数据块划分为至少两个分区;基于所述至少两个数据块的所述数据块编号通过对所述至少两个分区进行排序确定所述至少两个分区中的每一个的分区编号;以及基于所述至少两个数据块的所述数据块编号和所述至少两个分区的所述分区编号,为所述至少两个数据点中的每一个确定索引。

【技术特征摘要】
【国外来华专利技术】1.一种为数据添加索引的系统,包括:一个或以上存储介质,包括一组指令;以及一个或以上处理器被配置为与所述一个或以上存储介质进行通信,其中,当执行所述一组指令时,所述一个或以上处理器被指示使所述系统:获取至少两个数据点,所述数据点中的每一个包括空间信息;基于所述至少两个数据点的所述空间信息,将所述至少两个数据点划分为至少两个数据块;确定所述至少两个数据块中的每一个的数据块编号;获取所述至少两个数据点的预估分布;基于所述至少两个数据点的所述预估分布和所述至少两个数据块的所述数据块编号,将所述至少两个数据块划分为至少两个分区;基于所述至少两个数据块的所述数据块编号通过对所述至少两个分区进行排序确定所述至少两个分区中的每一个的分区编号;以及基于所述至少两个数据块的所述数据块编号和所述至少两个分区的所述分区编号,为所述至少两个数据点中的每一个确定索引。2.根据权利要求1所述的系统,其特征在于,当执行所述一组指令时,所述一个或以上处理器进一步指示使所述系统:对于所述至少两个分区中的每一个,基于所述分区中包括的所述数据块的所述数据块编号对所述分区中包括的所述数据块进行排序。3.根据权利要求1所述的系统,其特征在于,所述至少两个数据点中的每一个还包括用户的用户标识。4.根据权利要求3所述的系统,其特征在于,当执行所述一组指令时,所述一个或以上处理器进一步指示使所述系统:对于所述至少两个分区中的每一个,基于所述至少两个数据点的所述用户标识,将所述分区中的所述数据点重新划分为至少两个子分区。5.根据权利要求4所述的系统,其特征在于,基于所述至少两个数据点,将所述至少两个分区中的每一个的所述数据点重新划分为所述至少两个子分区,所述一个或以上处理器进一步指示使所述系统:对于所述分区中的每个数据点,确定所述数据点对应的所述用户标识的哈希值;通过将所述哈希值除以整数来获取余数;将对应于相等余数的所述数据点放入同一子分区;以及基于与所述分区中的所述数据点对应的所述余数,确定所述至少两个子分区中的每一个的子分区编号。6.根据权利要求1所述的系统,其特征在于,为了获取所述至少两个数据点的所述预估分布,所述一个或以上处理器被指示使所述系统:从所述至少两个数据块中选择一个或以上数据块;对于所述选择的一个或以上数据块中的每一个,确定所述所选择的一个或以上数据块中的所述每一个中包括的数据点的总数;以及基于所述所选择的一个或以上数据块中的所述每一个中的数据点的所述总数,确定所述至少两个数据点的所述预估分布。7.根据权利要求1所述的系统,其特征在于,为了确定所述至少两个数据块中的每一个的所述数据块编号,所述一个或以上处理器被指示使所述系统:基于空间填充曲线确定所述多个数据块中的每一个的所述数据块编号。8.一种实现在具有一个或以上处理器和一个或以上存储设备的计算设备上的为数据添加索引的方法,所述方法包括:获取至少两个数据点,所述数据点中的每一个包括空间信息;基于所述至少两个数据点的所述空间信息,将所述至少两个数据点划分为至少两个数据块;确定所述至少两个数据块中的每一个的数据块编号;获取所述至少两个数据点的预估分布;基于所述至少两个数据点的所述预估分布和所述至少两个数据块的所述数据块编号,将所述至少两个数据块划分为至少两个分区;基于所述至少两个数据块的所述数据块编号通过对所述至少两个分区进行排序确定所述至少两个分区中的每一个的分区编号;以及基于所述至少两个数据块的所述数据块编号和所述至少两个分区的所述分区编号,为所述至少两个数据点中的每一个确定索引。9.根据权利要求8所述的方法,还包括:对于所述至少两个分区中的每一个,基于所述分区中包括的所述数据块的所述数据块编号对所述分区中包括的所述数据块进行排序。10.根据权利要求8所述的系统,其特征在于,所述至少两个数据点中的每一个还包括用户的用户标识。11.根据权利要求10所述的系统,其特征在于,当执行所述一组指令时,所述一个或以上处理器进一步指示使所述系统:对于所述至少两个分区中的每一个,基于所述至少两个数据点的所述用户标识,将所述分区中的所述数据点重新划分为至少两个子分区。12.根据权利要求11所述的方法,其特征在于,基于所述至少两个数据点,将所述至少两个分区中的每一个的所述数...

【专利技术属性】
技术研发人员:郭明浩温翔柴艺
申请(专利权)人:北京嘀嘀无限科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1