一种多维度拆分的计算方法以及系统技术方案

技术编号:11175427 阅读:135 留言:1更新日期:2015-03-20 04:32
本发明专利技术公开一种多维度拆分的计算方法以及系统,涉及多维度拆分计算领域,可以对海量数据进行多维度拆分计算,从而降低计算复杂度。本发明专利技术实施例通过根据预处理后的海量预处理数据,生成递推拓扑,所述递推拓扑由维度组合以及各维度组合之间的递推路径构成,所述维度组合由各维度的属性名称以及与所述属性名称对应的所述海量预处理数据中的数据构成;根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径;根据所述递推拓扑,生成计算任务;根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,计算所述计算任务,获得计算结果。本发明专利技术实施例提供的方案适于进行多维拆分时采用。

【技术实现步骤摘要】
一种多维度拆分的计算方法以及系统
本专利技术涉及多维度拆分计算领域,尤其涉及一种多维度拆分的计算方法以及系统。
技术介绍
现有技术中,多维度拆分系统通常基于关系型数据库存储数据,关系型数据库为由二维表及各个二维表之间的联系组成的一个数据组织。采用现有技术进行多维度拆分计算时,根据用户的数据请求,通过关系型数据库的多个二维表以及多个二维表之间的联系联合计算,从而获得符合用户数据请求的多维组合结果。 然而,采用现有技术进行多维度拆分计算时,由于基于关系型数据库的多个二维表进行多维度拆分计算,计算复杂度较高,并且处理数据量较小。
技术实现思路
本专利技术的实施例提供一种多维度拆分的计算方法以及系统,可以对海量数据进行多维度拆分计算,从而降低计算复杂度。 第一方面,本专利技术实施例提供一种多维度拆分的计算方法,包括: 根据预处理后的海量预处理数据,生成递推拓扑,所述递推拓扑由维度组合以及各维度组合之间的递推路径构成,所述维度组合由各维度的属性名称以及与所述属性名称对应的所述海量预处理数据中的数据构成; 根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径; 根据所述递推拓扑,生成计算任务; 根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,计算所述计算任务,获得计算结果。 第二方面,本专利技术实施例提供一种多维度拆分的计算系统,包括:运算决策模块,运算控制模块,维度组合生成模块; 所述运算决策模块,用于根据预处理后的海量预处理数据,生成递推拓扑,所述递推拓扑由维度组合以及各维度组合之间的递推路径构成,所述维度组合由各维度的属性名称以及与所述属性名称对应的所述海量预处理数据中的数据构成; 所述运算决策模块,还用于根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径; 运算控制模块,用于根据所述递推拓扑,生成计算任务; 所述运算控制模块,还用于根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务; 维度组合生成模块,用于计算所述计算任务,获得计算结果。 本专利技术实施例提供一种多维度拆分的计算方法以及系统,通过根据预处理后的海量预处理数据,生成递推拓扑;根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径;根据所述递推拓扑,生成计算任务;根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,计算所述计算任务,获得计算结果。与采用现有技术进行多维度拆分计算时,由于基于关系型数据库的多个二维表进行多维度拆分计算,计算复杂度较高,并且处理数据量较小相比,本专利技术实施例通过根据固化维度组合以及最优固化维度组合的运算路径计算所述计算任务,使得可以对海量数据进行多维度拆分计算,从而降低计算复杂度。 【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1为本专利技术一个实施例提供的一种多维度拆分的计算方法的流程图; 图2为本专利技术一个实施例提供的递推拓扑示意图; 图3为本专利技术另一个实施例提供的一种多维度拆分的计算方法的流程图; 图4为本专利技术另一个实施例提供的指标的计算状态的转移示意图; 图5为本专利技术另一个实施例提供的列存储的示意图; 图6为本专利技术另一个实施例提供的一种多维度拆分的计算系统的示意图; 图7为本专利技术另一个实施例提供的另一种多维度拆分的计算系统的示意图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。 本专利技术实施例提供一种多维度拆分的计算方法,该方法的执行主体可以为服务器,具体可以为多维度拆分系统,该方法包括: 步骤101,根据预处理后的海量预处理数据,生成递推拓扑,所述递推拓扑由维度组合以及各维度组合之间的递推路径构成,所述维度组合由各维度的属性名称以及与所述属性名称对应的所述海量预处理数据中的数据构成。 可选的,在生成递推拓扑之前,将接收到的海量待处理数据进行预处理,从而获得规范化的、适合进行后续计算的海量预处理数据。 可选的,接收到的海量待处理数据可以为获取的用户一天的流水数据,也可以为用户预设时间段内的流水数据,预设时间段可以根据经验设置,例如预设时间段可以为一周、8天等时间段。海量待处理数据可以为TB级海量待处理数据。 可选的,可以通过接口接收用户上报的海量待处理数据,或者还可以接收用户通过文本文件的方式提供的海量待处理数据。 可选的,海量预处理数据可以包括用户标识以及数据来源等。根据海量预处理数据生成递推拓扑时,可以根据海量预处理数据中的用户标识获取用户的相关信息,例如获取用户的地址、用户的年龄、用户性别等信息,可以根据海量预处理数据中的数据来源获取用户的登录次数等信息。根据获得的上述信息可以获得维度组合,维度组合的各个维度的属性名称即可以为用户的地址、用户的年龄、用户性别、登录次数等,属性名称对应的数据即为属性值,例如,用户的地址可以为杭州,用户的年龄可以为30,用户性别可以为女性,登录次数可以为I次等。根据上述信息以及属性的层级关系,可以生产递推拓扑。这里属性的层级关系可以为属性与属性之间的关系,例如用户的地址为杭州,可以将杭州归结为江浙沪地区,从而获得一个高层的属性,即江浙沪地区。 可选的,如图2所示的递推拓扑示意图,图中ABC为接收到的海量预处理数据,其中,ABC可以为由三个维度构成的维度组合(View),第二层中包括从View_ABC中获取的View_AB以及View_AC两个维度组合,第三层包括从View_AB中获得View_A以及View_B,从View_AC中获得的View_C。其中,维度组合之间的箭头表示属性之间的递推路径。 步骤102,根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径。 预设固化策略用于指示固化维度组合的查询数据来源。 固化维度组合即为预设的某些维度的组合,例如,预设的用户的年龄、用户的性另IJ、用户的地址这三个维度的组合,或者,预设的用户的年龄、用户的性别这两个维度的组人坐I=I 寸 O 最优固化维度组合的运算路径可以为获得需求的维度组合时计算代价最小的运算路径。 可选的,根据预设固化策略确定构成最优固化维度组合的运算路径时,路径端点的维度组合即可以为固化维度组合。 步骤103,根据所述递推拓扑,生成计算任务。 可选的,根据递推拓扑的维度组合以及维度组合之间的递推路径,生成包括各个维度组合的计算任务。可以理解的,计算任务即计算各维度组合,每一个维度对应一个属性。 步骤104,根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,计算所述计算任务,获得计算结果。 可选的,计算所述计算任本文档来自技高网...

【技术保护点】
一种多维度拆分的计算方法,其特征在于,包括:根据预处理后的海量预处理数据,生成递推拓扑,所述递推拓扑由维度组合以及各维度组合之间的递推路径构成,所述维度组合由各维度的属性名称以及与所述属性名称对应的所述海量预处理数据中的数据构成;根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径;根据所述递推拓扑,生成计算任务;根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,计算所述计算任务,获得计算结果。

【技术特征摘要】
1.一种多维度拆分的计算方法,其特征在于,包括: 根据预处理后的海量预处理数据,生成递推拓扑,所述递推拓扑由维度组合以及各维度组合之间的递推路径构成,所述维度组合由各维度的属性名称以及与所述属性名称对应的所述海量预处理数据中的数据构成; 根据预设固化策略,确定固化维度组合并确定构成最优固化维度组合的运算路径; 根据所述递推拓扑,生成计算任务; 根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,计算所述计算任务,获得计算结果。2.根据权利要求1所述的方法,其特征在于,在所述根据预处理后的海量预处理数据,生成递推拓扑之前,还包括: 接收海量待处理数据; 对所述海量待处理数据进行流水预处理,获得海量预处理数据。3.根据权利要求2所述的方法,其特征在于,所述对所述海量待处理数据进行流水预处理,获得海量预处理数据,包括: 根据所述海量待处理数据以及预设选择预处理规则,确定与所述海量待处理数据对应的预处理规则; 根据所述预处理规则,对所述海量待处理数据进行清洗处理,获得第一处理数据; 根据预设抽取字段规则,在所述第一处理数据中抽取多维度拆分所需的至少一个字段或者至少一个字段组合; 根据抽取的所述至少一个字段或者至少一个字段组合生成宽表,并将所述至少一个字段或者至少一个字段组合保存在所述宽表中; 将所述宽表中保存的所述至少一个字段或者至少一个字段组合进行压缩,获得所述海量预处理数据。4.根据权利要求3所述的方法,其特征在于,所述将所述宽表中保存的所述至少一个字段或者至少一个字段组合进行压缩,获得所述海量预处理数据,包括: 将所述宽表中保存的所述至少一个字段或者至少一个字段组合进行轻量压缩,获得所述海量预处理数据。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述固化维度组合以及所述最优固化维度组合的运算路径,启动计算任务,包括: 获取所述固化维度组合,并确定待计算的固化维度组合; 根据所述待计算的固化维度组合,确定第一最优固化维度组合的运算路径,所述最优固化维度组合的运算路径包括所述第一最优固化维度组合的运算路径; 根据所述第一最优固化维度组合的运算路径启动所述计算任务。6.根据权利要求5所述的方法,其特征在于,所述根据所述第一最优固化维度组合的运算路径启动所述计算任务,包括: 将所述第一最优固化维度组合的运算路径中的所述待计算的固化维度组合按照路径递推关系进行分组,获得第一分组; 当所述第一分组中存在相同路径递推关系时,合并所述第一分组中具有所述相同路径递推关系的固化维度组合,获得第二分组; 按照所述路径递推关系并行启动计算所述第二分组中的各个固化维度组合的所述计算任务,多路获得所述计算结果。7.根据权利要求6所述的方法,其特征在于,所述计算所述计算任务,获得计算结果,包括: 按照启动的所述计算任务进行并行计算,多路获得计算结果。8.根据权利要求7所述的方法,其特征在于,所述按照启动的所述计算任务进行并行计算,多路获得计算结果之后,还包括: 将所述多路获得的所述计算结果,分别保存在对应的列表中,所述一路计算结果对应一个列表。9.根据权利要求8所述的方法,其特征在于,在所述将所述多路获得的所述计算结果,分别保存在对应的列表中之后,还包括: 将保存在列表中的所述计算结果存储在分布式数据库中,并对保存在列表中的所述计算结果中的关键维度组合保存在内存中,所述关键维度组合包括用户经常查询的维度组合或者用户预设时间段内使用的维度组合。10.根据权利要求9所述的方法,其特征在于,在所述将保存在列表中的所述计算结果存储在分布式数据库中,并对保存在列表中的所述计算结果中的关键维度组合保存在内存中之后,还包括: 根据用户发送的数据查询请求,判断所述分布式数据库或者内存中是否保存有待查询维度组合对应的维度组合数据,所述数据查询请求中包括所述待查询维度组合; 当所述分布式数据库或者内存中保存有所述待查询维度组合对应的所述维度组合数据时,则将所述数据查询请求发送给所述分布式数据库或者内存,并接收所述分布式数据库或者内存发送的所述维度组合数据; 当所述分布式数据库或者内存中未保存所述待查询维度组合对应的所述维度组合数据时,则合并预设时间段内的至少一个用户发送的数据查询请求,并根据所述固化维度组合以及所述最优固化维度组合的运算路径,批量启动维度组合计算的计算任务,批量执行所述维度组合计算的计算任务,获得计算结果。11.一种多维度拆分的计算系统,其特征在于,包括:运算...

【专利技术属性】
技术研发人员:蔡馥晗李浩武磊曾伟纪
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2015年03月20日 04:47
    可以组合成一个整体的不同部分,单独被分开的过程。
    0
1