分组查询方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:23315154 阅读:22 留言:0更新日期:2020-02-11 17:49
本公开的实施例提供了一种分组查询方法、装置、电子设备及可读存储介质,所述方法包括:从预设维度信息中选取目标维度信息,并按照目标维度信息将预设对象集划分为一个或多个对象子集;若其中一个对象子集的数据量大于预设数据量阈值,则从维度信息中重新选取新的目标维度信息,并将对象子集作为新的预设对象集,以继续划分;若其中一个对象子集的数据量小于或等于数据量阈值,则生成对象子集的分组标识;根据对象子集的分组标识存储预设对象集的对象信息;根据对象子集对应的分组标识查询存储的对象信息。可以将预设对象集划分为数据量小于数据量阈值的对象子集,以保证存储的均匀性,有助于提高查询性能。

Group query method, device, electronic equipment and readable storage medium

【技术实现步骤摘要】
分组查询方法、装置、电子设备及可读存储介质
本公开的实施例涉及数据存储
,尤其涉及一种分组查询方法、装置、电子设备及可读存储介质。
技术介绍
数据通常可以以分组的形式存储,在基于位置的服务系统中,可以按照位置将距离相近的对象,例如商家,划分至同一分组存储。从而,在读取对象时,可以一次性读取距离相近的一批对象,降低与存储器的交互次数,提高了系统性能。现有技术中,可以通过geohash编码的方式存储。具体包括:首先,将整个区域划分为若干子区域;然后,将对象按照位置划分至其中一个子区域中;最后,对该区域进行geohash编码得到geohash块,从而使得属于该区域的对象拥有相同geohash编码,存储至同一geohash块中。专利技术人对上述方案进行研究之后发现,在对象的位置分布不均匀时,会导致部分geohash块的存储量很大,而部分geohash块的存储量很小,降低查询性能。
技术实现思路
本公开的实施例提供一种分组查询方法、装置、电子设备及可读存储介质,可以在对象子集的数据量大于数据量阈值时,将对象子集进一步划分直至对象子集的数据量小于数据量阈值,可以保证存储的均匀性,有助于提高查询性能。根据本公开的实施例的第一方面,提供了一种分组查询方法,所述方法包括:从预设维度信息中选取位置信息作为目标维度信息,并按照所述目标维度信息将预设对象集划分为一个或多个对象子集,所述每个对象集中的各对象处于同一预设区域范围内;若其中一个所述对象子集的数据量大于预设数据量阈值,则从所述维度信息中选取新的目标维度信息,并将所述对象子集作为新的预设对象集,以进入所述按照所述目标维度信息将预设对象集划分为一个或多个对象子集的步骤;若其中一个所述对象子集的数据量小于或等于预设数据量阈值,则生成所述对象子集对应的分组标识;根据所述对象子集对应的分组标识将所述预设对象集的对象信息进行分块存储;根据所述对象子集对应的分组标识对分块存储的所述对象信息进行查询处理。根据本公开的实施例的第二方面,提供了一种分组查询装置,所述装置包括:预设对象集拆分模块,用于从预设维度信息中选取位置信息作为目标维度信息,并按照所述目标维度信息将预设对象集划分为一个或多个对象子集,所述每个对象集中的各对象处于同一预设区域范围内;循环模块,用于若其中一个所述对象子集的数据量大于预设数据量阈值,则从所述维度信息中选取新的目标维度信息,并将所述对象子集作为新的预设对象集,以进入所述按照所述目标维度信息将预设对象集划分为一个或多个对象子集的步骤;分组标识生成模块,用于若其中一个所述对象子集的数据量小于或等于预设数据量阈值,则生成所述对象子集对应的分组标识;存储模块,用于根据所述对象子集对应的分组标识将所述预设对象集的对象信息进行分块存储;查询处理模块,用于根据所述对象子集对应的分组标识对分块存储的所述对象信息进行查询处理。根据本公开的实施例的第三方面,提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述分组查询方法。根据本公开的实施例的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述分组查询方法。本公开的实施例提供了一种分组查询方法、装置、电子设备及可读存储介质,所述方法包括:从预设维度信息中选取位置信息作为目标维度信息,并按照所述目标维度信息将预设对象集划分为一个或多个对象子集,所述每个对象集中的各对象处于同一预设区域范围内;若其中一个所述对象子集的数据量大于预设数据量阈值,则从所述维度信息中选取新的目标维度信息,并将所述对象子集作为新的预设对象集,以进入所述按照所述目标维度信息将预设对象集划分为一个或多个对象子集的步骤;若其中一个所述对象子集的数据量小于或等于预设数据量阈值,则生成所述对象子集对应的分组标识;根据所述对象子集对应的分组标识将所述预设对象集的对象信息进行分块存储;根据所述对象子集对应的分组标识对分块存储的所述对象信息进行查询处理。本公开的实施例可以在对象子集的数据量大于数据量阈值时,将对象子集进一步划分直至对象子集的数据量小于数据量阈值,可以保证存储的均匀性,有助于提高查询性能。附图说明为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1示出了本公开的一种实施例中的分组查询方法步骤流程图;图2示出了本公开的另一种实施例中的分组查询方法步骤流程图;图3示出了本公开的一种实施例中的分组查询装置的结构图;图4示出了本公开的另一种实施例中的分组查询装置的结构图;图5示出了本公开的一种实施例中的电子设备的结构图。具体实施方式下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。实施例一参照图1,其示出了本公开的一种实施例中的分组查询方法的步骤流程图,具体如下。步骤101,从预设维度信息中选取位置信息作为目标维度信息,并按照所述目标维度信息将预设对象集划分为一个或多个对象子集,所述每个对象集中的各对象处于同一预设区域范围内。其中,预设维度信息可以针对对象设置,例如,在外卖应用场景中,对象为商家,针对商家可以设置商家的位置、商家的菜品信息、商家的销量、商家的等级等。可以理解,预设维度信息可以从不同角度、维度表述商家的特征。目标维度信息用于对预设对象集进行划分,本公开的实施例可以优先使用位置信息进行划分得到一个或多个对象子集,从而使得同一对象子集中对象的位置接近预设对象集可以为待存储和查询的对象集合,可以理解,对象集为同一类型,例如,在外卖应用场景中,预设对象集可以为外卖平台上注册的所有商家组成的商家集合。具体地,首先,将预设对象集在位置维度上的取值,即位置信息按照顺序排列,例如,排序结果为:OBJ1、OBJ2、OBJ3、OBJ4、OBJ5、OBJ6、OBJ7、OBJ8,然后,按照预设数目将预设对象集划分为对象子集,若预设数目为4,则得到对象子集结果为:OBJ1和OBJ2组成的第一对象子集,OBJ3和OBJ4组成的第二对象子集,OBJ5和OBJ6组成的第三对象子集,OBJ7和OBJ8组成的第四对象子集。此外,还可以按照一定差值阈值,将预设对象集划分为多个对象子集,例如,对于预设对象集中的任意两个对象,计算该两个对象的位置信息之间的距离本文档来自技高网...

【技术保护点】
1.一种分组查询方法,其特征在于,所述方法包括:/n从预设维度信息中选取位置信息作为目标维度信息,并按照所述目标维度信息将预设对象集划分为一个或多个对象子集,所述每个对象集中的各对象处于同一预设区域范围内;/n若其中一个所述对象子集的数据量大于预设数据量阈值,则从所述维度信息中选取新的目标维度信息,并将所述对象子集作为新的预设对象集,以进入所述按照所述目标维度信息将预设对象集划分为一个或多个对象子集的步骤;/n若其中一个所述对象子集的数据量小于或等于预设数据量阈值,则生成所述对象子集对应的分组标识;/n根据所述对象子集对应的分组标识将所述预设对象集的对象信息进行分块存储;/n根据所述对象子集对应的分组标识对分块存储的所述对象信息进行查询处理。/n

【技术特征摘要】
1.一种分组查询方法,其特征在于,所述方法包括:
从预设维度信息中选取位置信息作为目标维度信息,并按照所述目标维度信息将预设对象集划分为一个或多个对象子集,所述每个对象集中的各对象处于同一预设区域范围内;
若其中一个所述对象子集的数据量大于预设数据量阈值,则从所述维度信息中选取新的目标维度信息,并将所述对象子集作为新的预设对象集,以进入所述按照所述目标维度信息将预设对象集划分为一个或多个对象子集的步骤;
若其中一个所述对象子集的数据量小于或等于预设数据量阈值,则生成所述对象子集对应的分组标识;
根据所述对象子集对应的分组标识将所述预设对象集的对象信息进行分块存储;
根据所述对象子集对应的分组标识对分块存储的所述对象信息进行查询处理。


2.根据权利要求1所述的方法,其特征在于,所述从所述维度信息中选取新的目标维度信息的步骤,包括:
确定预设对象在预设维度信息上的方差;
根据所述方差从预设维度信息中选取新的目标维度信息。


3.根据权利要求2所述的方法,其特征在于,所述按照所述目标维度信息将预设对象集划分为一个或多个对象子集的步骤,包括:
根据预设对象在目标维度信息上的中位数,将预设对象集划分为两个对象子集。


4.根据权利要求1至3其中任一项所述的方法,其特征在于,在所述生成所述对象子集对应的分组标识的步骤之后,所述方法还包括:
记录所述对象子集中的每个对象与所述分组标识之间的映射关系,得到第一映射关系。


5.根据权利要求4所述的方法,其特征在于,所述根据所述对象子集对应的分组标识将所述预设对象集的对象信息进行分块存储的步骤,包括:
针对每个分组标识,根据所述第一映射关系,将所述分组标识对应的所述对象子集中的每个对象的对象信息存储至同一存储块。


6.根据权利要求5所述的方法,其特征在于,在所述针对每个分组标识,根据所述第一映射关系,将所述分组标识对应的所...

【专利技术属性】
技术研发人员:曹元谢奕斐
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京;11

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

1