排名的计算方法及装置制造方法及图纸

技术编号:20160449 阅读:27 留言:0更新日期:2019-01-19 00:13
本发明专利技术公开了一种排名的计算方法及装置,涉及数据处理技术领域,为了解决现有技术中,在计算维度成员排名过程中,由于同类别数据被存储在多个待查询数据库中导致计算维度成员排名的计算速度慢、计算效率低的问题。本发明专利技术的方法包括:接收数据查询指令,数据查询指令中包括查询维度及其对应的前M个维度成员的排名;在至少两个待查询数据库中,分别查找与查询维度对应的维度成员排名,其中,待查询数据库中包含有查询维度对应的前N个维度成员的排名结果,N大于或者等于M;对至少两个维度成员排名中相同的维度成员进行同项合并,并根据同项合并后的维度成员重新计算前M个维度成员的排名。本发明专利技术适合应用于计算维度成员排名过程中。

【技术实现步骤摘要】
排名的计算方法及装置
本专利技术涉及数据处理
,尤其涉及一种排名的计算方法及装置。
技术介绍
随着互联网技术的日益发展,为了给企业决策者提供多角度的数据支持,越来越多的企业开始使用联机分析处理(On-LineAnalyticalProcessing,OLAP)技术对企业数据进行多维度分析处理。在使用OLAP技术对数据进行多维度分析的过程中,通过不同的维度剖析对应的各种指标,根据某一维度对应的指标值的大小对该维度对应的维度成员进行排名,企业决策者可以根据排名结果更加直观的做出相应的决策。目前,用户根据查询条件对OLAP数据库进行查询,通过计算获取某一维度下的维度成员排名。但是当该维度对应的同类别的数据由于来源不同或使用的处理策略不同等原因,被存储在不同的OLAP数据库中时,进行维度成员排名计算,需要根据查询条件对每一个OLAP数据库进行查询,并对查询结果进行汇总计算。例如,用户A需要查询某一时间段各卫视的收视排名,由于数据来源不同,该时间段各卫视收视情况的相关数据被存储在三个不同的OLAP数据库中,现根据查询条件分别对三个OLAP数据库进行查询,并对结果进行汇总计算,最终得到该时间段各卫视的收视排名。专利技术人在实现上述专利技术过程中,发现现有技术中,当需要进行排名分析的数据量增大时,数据被存储在多个OLAP数据库中,需要对每一个OLAP数据库分别进行查询操作,通过计算获取每一个OLAP数据库中的维度成员排名,并将多个维度成员排名进行汇总计算,得到最终的维度成员排名,因此导致计算维度成员排名的速度较慢、效率较低。
技术实现思路
有鉴于此,本专利技术提供的排名的计算方法及装置,主要目的在于克服在计算维度成员排名过程中,由于同类别数据被存储在多个待查询数据库中导致计算维度成员排名的计算速度慢、计算效率低的问题,从而加快计算维度成员排名的计算速度以及提高计算效率。为达到上述目的,本专利技术提供如下技术方案:第一方面,本专利技术提供了一种排名的计算方法,该方法包括:接收数据查询指令,所述数据查询指令中包括查询维度及其对应的前M个维度成员的排名;在至少两个待查询数据库中,分别查找与所述查询维度对应的维度成员排名,其中,所述待查询数据库中包含有所述查询维度对应的前N个维度成员的排名结果,N大于或者等于M;对至少两个维度成员排名中相同的维度成员进行同项合并,并根据同项合并后的维度成员重新计算前M个维度成员的排名。可选的,在至少两个待查询数据库中,分别查找与所述查询维度对应的维度成员排名之前,所述方法还包括:基于所述查询维度编写查询表达式;根据同一查询表达式分别在所述至少两个待查询数据库中查找与所述查询维度对应的维度成员的第一指标值;在不同的待查询数据库中,分别根据所述第一指标值及预设排名上限进行降序排名,得到至少两个所述维度成员排名,其中,所述预设排名上限等于N。可选的,在接收数据查询指令之前,所述方法还包括:分别计算第二指标值;其中,所述第二指标值为对所述待查询数据库中排名超过所述预设排名上限的所有维度成员对应的指标值,进行累加后的指标值;将所述超过所述预设排名上限的所有维度成员作为待查询数据库的其他项,生成所述其他项与所述第二指标值之间的映射关系;在不同的待查询数据库中,将对应的维度成员排名与所述第二指标值进行汇总,得到数据集合;将所述各个待查询数据库中的所述数据集合进行分别存储。可选的,对至少两个维度成员排名中相同的维度成员进行同项合并包括:判断至少两个所述维度成员排名中的维度成员是否一致;若一致,则基于相同维度成员对所述维度成员排名中对应的指标值进行聚合处理;若不一致,则获取不一致的维度成员,并设置缺失维度成员在所述维度成员排名中对应的指标值为空值;对所述维度成员排名中相同维度成员的指标值进行聚合处理。可选的,在根据同项合并后的维度成员重新计算前M个维度成员的排名之后,所述方法还包括:将重新计算排名后的维度成员对应的指标值进行第一累加计算,并将不同待查询数据库中的其他项对应的指标值进行第二累加计算;根据所述第一累加计算及所述第二累加计算,确定指标值总和;根据每个维度成员对应的指标值大小与所述指标值总和,计算各个维度成员所占比重。第二方面,本专利技术还提供一种排名的计算装置,该装置包括:接收单元,用于接收数据查询指令,所述数据查询指令中包括查询维度及其对应的前M个维度成员的排名;第一查找单元,用于在至少两个待查询数据库中,分别查找与所述接收单元接收的所述数据查询指令中包括的所述查询维度对应的维度成员排名,其中,所述待查询数据库中包含有所述查询维度对应的前N个维度成员的排名结果,N大于或者等于M;合并单元,用于对所述第一查找单元查找到的至少两个维度成员排名中相同的维度成员进行同项合并;第一计算单元,用于根据所述合并单元同项合并后的维度成员重新计算前M个维度成员的排名。可选的,所述装置还包括:编写单元,用于所述第一查找单元在至少两个待查询数据库中,分别查找与所述查询维度对应的维度成员排名之前,基于所述查询维度编写查询表达式;第二查找单元,用于根据所述编写单元编写的同一查询表达式分别在所述至少两个待查询数据库中查找与所述查询维度对应的维度成员的第一指标值;排名单元,用于在不同的待查询数据库中,分别根据所述第二查找单元查找的所述第一指标值及预设排名上限进行降序排名,得到至少两个所述维度成员排名,其中,所述预设排名上限等于N。可选的,所述装置还包括:第二计算单元,用于在所述接收单元接收数据查询指令之前,分别计算第二指标值;其中,所述第二指标值为对所述待查询数据库中排名超过所述预设排名上限的所有维度成员对应的指标值,进行累加后的指标值;生成单元,用于将所述超过所述预设排名上限的所有维度成员作为待查询数据库的其他项,生成所述其他项与所述第二计算单元计算的所述第二指标值之间的映射关系;汇总单元,用于在不同的待查询数据库中,将对应的维度成员排名与所述第二计算单元计算的所述第二指标值进行汇总,得到数据集合;存储单元,用于将所述汇总单元得到的所述各个待查询数据库中的所述数据集合进行分别存储。可选的,所述合并单元包括:判断模块,用于判断至少两个所述维度成员排名中的维度成员是否一致;聚合模块,用于当所述判断模块判断至少两个所述维度成员排名中的维度成员一致时,基于相同维度成员对所述维度成员排名中对应的指标值进行聚合处理;设置模块,用于当所述判断模块判断至少两个所述维度成员排名中的维度成员不一致时,获取不一致的维度成员,并设置缺失维度成员在所述维度成员排名中对应的指标值为空值;所述聚合模块,还用于对所述维度成员排名中相同维度成员的指标值进行聚合处理。可选的,所述装置还包括:第三计算单元,用于在所述第一计算单元根据同项合并后的维度成员重新计算前M个维度成员的排名之后,将重新计算排名后的维度成员对应的指标值进行第一累加计算,并将不同待查询数据库中的其他项对应的指标值进行第二累加计算;确定单元,用于根据所述第三计算单元计算的所述第一累加计算及所述第二累加计算,确定指标值总和;第四计算单元,用于根据每个维度成员对应的指标值大小与所述确定单元确定的所述指标值总和,计算各个维度成员所占比重。为了实现上述目的,根据本专利技术的第三方面,提供了一种存储介质,所述存储介质包本文档来自技高网...

【技术保护点】
1.一种排名的计算方法,其特征在于,包括:接收数据查询指令,所述数据查询指令中包括查询维度及其对应的前M个维度成员的排名;在至少两个待查询数据库中,分别查找与所述查询维度对应的维度成员排名,其中,所述待查询数据库中包含有所述查询维度对应的前N个维度成员的排名结果,N大于或者等于M;对至少两个维度成员排名中相同的维度成员进行同项合并,并根据同项合并后的维度成员重新计算前M个维度成员的排名。

【技术特征摘要】
1.一种排名的计算方法,其特征在于,包括:接收数据查询指令,所述数据查询指令中包括查询维度及其对应的前M个维度成员的排名;在至少两个待查询数据库中,分别查找与所述查询维度对应的维度成员排名,其中,所述待查询数据库中包含有所述查询维度对应的前N个维度成员的排名结果,N大于或者等于M;对至少两个维度成员排名中相同的维度成员进行同项合并,并根据同项合并后的维度成员重新计算前M个维度成员的排名。2.根据权利要求1所述的方法,其特征在于,在至少两个待查询数据库中,分别查找与所述查询维度对应的维度成员排名之前,所述方法还包括:基于所述查询维度编写查询表达式;根据同一查询表达式分别在所述至少两个待查询数据库中查找与所述查询维度对应的维度成员的第一指标值;在不同的待查询数据库中,分别根据所述第一指标值及预设排名上限进行降序排名,得到至少两个所述维度成员排名,其中,所述预设排名上限等于N。3.根据权利要求2所述的方法,其特征在于,在接收数据查询指令之前,所述方法还包括:分别计算第二指标值;其中,所述第二指标值为对所述待查询数据库中排名超过所述预设排名上限的所有维度成员对应的指标值,进行累加后的指标值;将所述超过所述预设排名上限的所有维度成员作为待查询数据库的其他项,生成所述其他项与所述第二指标值之间的映射关系;在不同的待查询数据库中,将对应的维度成员排名与所述第二指标值进行汇总,得到数据集合;将所述各个待查询数据库中的所述数据集合进行分别存储。4.根据权利要求3所述的方法,其特征在于,对至少两个维度成员排名中相同的维度成员进行同项合并包括:判断至少两个所述维度成员排名中的维度成员是否一致;若一致,则基于相同维度成员对所述维度成员排名中对应的指标值进行聚合处理;若不一致,则获取不一致的维度成员,并设置缺失维度成员在所述维度成员排名中对应的指标值为空值;对所述维度成员排名中相同维度成员的指标值进行聚合处理。5.根据权利要求4所述的方法,其特征在于,在根据同项合并后的维度成员重新计算前M个维度成员的排名之后,所述方法还包括:将重新计算排名后的维度成员对应的指标值进行第一累加计算,并将不同待查询数据库中的其他项对应的指标值进行第二累加计算;根据所述第一累加计算及所述第二累加计算,确定指标值总和;根据每个维度成员对应的指标值大小与所述指标值总和,计算各个维度成员所占比重。6.一种排名的计算装置,其特征在于,包括:接收单元,用于接收数据查询指令,所述数据查询指令中包括查询维度及其对应的前M个维度成员的排名;第一查找单元,用于在至少两个待查询数据库中,分别查找与所述接收单元接收的所述数据查询指令中包括的所述查询维度对应的维度成员排名,其中,所述待查询数据库中包含有所述查询维度对应的前N个维度成员的排名结果,N大于或者等于M;合并单元,用于对所述第一查找单元查找到的至少两个维度成员排名中相同的维度成员进行同项合并;第一计算...

【专利技术属性】
技术研发人员:张硕
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京,11

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

1