数据分组方法及装置制造方法及图纸

技术编号:15228267 阅读:91 留言:0更新日期:2017-04-27 12:45
本发明专利技术是关于一种数据分组方法,属于数据查询技术领域。所述方法包括:在对目标数据进行分组时,查询数据集合对应n种数据属性中的每一种数据属性标识集合组(包含每一个属性值的标识集合),并对目标数据的标识集合与该n种数据属性中的每一种数据属性的标识集合组进行交集运算,并根据运算结果获取到按照n种数据属性对目标数据进行分组的分组结果,只需要设置数据集合对应每一种数据属性的标识集合组,即可以满足按照任意种类数和种类的数据属性对数据库中的数据进行分组的需求,从而极大的降低预设信息的存储资源占用量,以及降低该预设信息的生成和查询过程的处理资源消耗。

【技术实现步骤摘要】

本专利技术涉及数据查询
,特别涉及一种数据分组方法及装置
技术介绍
在某些数据库中,每个数据包含多种不同的数据属性,并可以按照其中至少两种数据属性对数据进行分组,以便对外提供与分组相关的查询服务。其中,分组获得的同一数据组中的数据对应该至少两种数据属性的值都相同。在现有技术中,数据库管理设备预先按照至少两种数据属性的组合,对数据库中的各个数据进行倒排索引,以建立倒排索引表,该倒排索引表中包含该数据属性的组合中的每一组属性值,以及每一组属性值对应的包含有该组属性值的数据的标识。当需要对上述各个数据按照该数据属性的组合进行分组时,数据库管理设备可以查询上述预先建立的倒排索引表,将具有相同的一组属性值的数据作为一个数据组。对数据库中的数据进行分组时,数据属性的组合中的种类数和种类并不是固定不变的,比如,在前一次进行数据分组时,数据库管理设备按照数据属性a和b对各个数据进行分组,而在下一次进行数据分组时,数据库管理设备可能需要按照数据属性b、c和d进行分组。若按照现有技术中的分组方法,则需要按照数据属性的种类数和种类的各种组合,分别对数据库中的各个数据预先建立倒排索引表,当数据属性的种类较多时,需要预先建立的倒排索引表的数量将会非常庞大。比如,假设数据库中的每个数据包含100种数据属性,若要满足按照任意三种数据属性进行分组的需求,则需要建立(100*99*98)/(3*2*1)=161700个不同的倒排索引表,若还需要满足按照任意其它种类数的数据属性进行分组的需求,则需要建立的倒排索引表的数量还会更多。这些数量庞大的倒排索引表需要占据大量的存储资源,并且,倒排索引表的建立过程以及分组时查询对应的倒排索引表的过程也会消耗大量的处理时间和处理资源。
技术实现思路
为了解决现有技术中,当数据属性的种类较多时,需要预先建立的倒排索引表的数量非常庞大,导致倒排索引表需要占据大量的存储资源,并且,倒排索引表的建立过程以及分组时查询对应的倒排索引表的过程消耗大量的处理资源的问题,本专利技术实施例提供了一种数据分组方法及装置,技术方案如下:第一方面,提供了一种数据分组方法,所述方法包括:获取目标数据的标识集合,所述目标数据是数据集合中包含相同的n种类型的数据属性的部分或者全部数据,n≥2,且n为整数;获取所述数据集合对应所述n种数据属性中的每一种数据属性的标识集合组,所述数据属性的标识集合组包含所述数据属性的每一种属性值的标识集合,所述属性值的标识集合包含具有所述属性值的数据的标识;对所述目标数据的标识集合以及所述每一种数据属性的标识集合组进行交集运算;根据所述交集运算的运算结果,获取按照所述n种数据属性对所述目标数据进行分组的分组结果。第二方面,提供了一种数据分组装置,所述装置包括:第一集合获取模块,用于获取目标数据的标识集合,所述目标数据是数据集合中包含相同的n种类型的数据属性的部分或者全部数据,n≥2,且n为整数;第二集合获取模块,用于获取所述数据集合对应所述n种数据属性中的每一种数据属性的标识集合组,所述数据属性的标识集合组包含所述数据属性的每一种属性值的标识集合,所述属性值的标识集合包含具有所述属性值的数据的标识;运算模块,用于对所述目标数据的标识集合以及所述每一种数据属性的标识集合组进行交集运算;结果获取模块,用于根据所述交集运算的运算结果,获取按照所述n种数据属性对所述目标数据进行分组的分组结果。本专利技术实施例提供的技术方案可以包括以下有益效果:只需要预先设置数据集合对应每一种数据属性标识集合组,即可以满足按照任意种类数和种类的数据属性对数据库中的数据进行分组的需求,从而极大的降低预设信息(即数据属性的标识集合组)的存储资源占用量,以及降低该预设信息的生成和查询过程的处理资源消耗。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1是本专利技术所示方案的实现流程示意图;图2是根据一示例性实施例示出的一种数据分组方法的流程图;图3是图2所示实施例涉及的一种交集运算及结果更新的示意图;图4是根据一示例性实施例示出的一种数据分组方法的流程图;图5是图4所示实施例涉及的一种交集运算及结果更新的示意图;图6是根据一示例性实施例示出的一种数据分组装置的框图;图7是根据一示例性实施例提供的管理设备的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。本专利技术实施例所示的方案可以应用于具有数据库管理功能的各种设备平台中。比如,本方案可以应用于基于个人电脑、工作站、服务器、服务器集群或者云服务平台等实现的数据库管理设备中。在本专利技术实施例所示的方案中,数据库存储的数据集合中,每个数据具有多种不同类型的数据属性,且数据库管理设备支持按照其中的n种数据属性(n≥2,且为整数)对数据集合中的目标数据进行分组。其中,在对目标数据进行分组时,只需要查询数据集合对应该n种数据属性中的每一种数据属性的标识集合组(数据属性的标识集合组包含所述数据属性的每一种属性值的标识集合,所述属性值的标识集合包含具有所述属性值的数据的标识),并对目标数据的标识集合以及该n种数据属性中的每一种数据属性的标识集合组进行交集运算,并根据交集运算的运算结果获取到按照n种数据属性对应目标数据进行分组的分组结果。数据库管理设备只需要预先设置数据集合对应每一种数据属性的标识集合组,即可以满足按照任意种类数和种类的数据属性的组合对数据库中的数据进行分组的需求。具体的,请参考图1,其示出了本专利技术所示方案的实现流程示意图。如图1所示,数据库管理设备预先设置数据集合对应每种数据属性(图1中示出为数据属性0~X)的每一种属性值的标识集合,当需要对目标数据按照其中的n种数据属性进行分组时,可以从预先设置的标识集合中查询该n种数据属性分别对应的标识集合组(图1示为数据属性1对应的标识集合组以及数据属性4对应的标识集合组),并根据目标数据的标识集合与该数据属性1、4分别对应的标识集合组进行交集运算,并根据运算结果获取按照上述两种数据属性对目标数据进行分组的分组结果。基于上述方案,假设数据库中的每个数据包含100种数据属性,则数据库管理设备只需要预先设置并存储100个数据属性的标识集合组,在查询n种数据属性分别对应的标识集合时,也只需要在该100个数据属性的标识集合组中进行查询,相对于按照数据属性的种类数和种类的各种组合,分别对数据库中的各个数据预先建立倒排索引表的方法,本专利技术所示的方案能够极大的降低预设信息(即上述数据属性的标识集合组)的存储资源占用量,以及降低该预设信息的生成和查询过程的处理资源消耗。图2是根据一示例性实施例示出的一种数据分组方法的流程图,该方法可以用于具有数据库管理功能的数据库管理设备中。如图2所示,该数据分组方法可以包括如下几个步骤:步骤201,设置数本文档来自技高网
...

【技术保护点】
一种数据分组方法,其特征在于,所述方法包括:获取目标数据的标识集合,所述目标数据是数据集合中包含相同的n种类型的数据属性的部分或者全部数据,n≥2,且n为整数;获取所述数据集合对应所述n种数据属性中的每一种数据属性的标识集合组,所述数据属性的标识集合组包含所述数据属性的每一种属性值的标识集合,所述属性值的标识集合包含具有所述属性值的数据的标识;对所述目标数据的标识集合以及所述每一种数据属性的标识集合组进行交集运算;根据所述交集运算的运算结果,获取按照所述n种数据属性对所述目标数据进行分组的分组结果。

【技术特征摘要】
1.一种数据分组方法,其特征在于,所述方法包括:获取目标数据的标识集合,所述目标数据是数据集合中包含相同的n种类型的数据属性的部分或者全部数据,n≥2,且n为整数;获取所述数据集合对应所述n种数据属性中的每一种数据属性的标识集合组,所述数据属性的标识集合组包含所述数据属性的每一种属性值的标识集合,所述属性值的标识集合包含具有所述属性值的数据的标识;对所述目标数据的标识集合以及所述每一种数据属性的标识集合组进行交集运算;根据所述交集运算的运算结果,获取按照所述n种数据属性对所述目标数据进行分组的分组结果。2.根据权利要求1所述的方法,其特征在于,所述获取所述数据集合对应所述n种数据属性中的每一种数据属性的标识集合组之前,所述方法还包括:按照所述数据集合中的各个数据各自对应所述数据属性的属性值,建立所述数据集合对应所述数据属性的倒排索引信息,所述倒排索引信息中包含所述每一种属性值以及所述每一种属性值对应的数据的标识;根据所述倒排索引信息设置所述数据集合对应所述数据属性的标识集合组。3.根据权利要求1所述的方法,其特征在于,所述对所述目标数据的标识集合以及所述每一种数据属性的标识集合组进行交集运算,包括:在第1次运算时,将所述目标数据的标识集合与所述n种数据属性的第1种数据属性的标识集合组中的各个标识集合分别进行交集运算,获得第1次运算的运算结果;在第i次运算时,将第i-1次运算的运算结果中的每一个集合与所述n种数据属性的第i种数据属性的标识集合组中的各个标识集合分别进行交集运算,获得第i次运算的运算结果,2≤i≤n,且i为整数。4.根据权利要求1所述的方法,其特征在于,所述对所述目标数据的标识集合以及所述每一种数据属性的标识集合组进行交集运算,包括:在第1次运算时,将所述目标数据的标识集合与所述n种数据属性的第1种数据属性的标识集合组中的各个标识集合分别进行交集运算,获得第1次运算的运算结果;在第i次运算时,将所述目标数据的标识集合与所述n种数据属性的第i种数据属性的标识集合组中的各个标识集合分别进行交集运算,将运算得到的每一个集合与第i-1次运算的运算结果中的各个集合分别进行交集运算,获得第i次运算的运算结果,2≤i≤n,且i为整数。5.根据权利要求3或4所述的方法,其特征在于,所述根据所述交集运算的运算,获取按照所述n种数据属性对所述目标数据进行分组的分组结果,包括:对于第n次运算的运算结果中包含的每一个集合,将所述集合中的标识获取为所述分组结果中的一个数据组对应的数据的标识。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:获取所述数据组对应的数据中,所述n种数据属性各自的属性值;对应所述数据组输出获取到的所述n种数据属性各自的属性值。7....

【专利技术属性】
技术研发人员:陈佐伟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1