基于扩展预计算模型和SQL函数的超大集合分析方法及装置制造方法及图纸

技术编号:24091050 阅读:27 留言:0更新日期:2020-05-09 08:05
本发明专利技术公开一种基于扩展预计算模型和SQL函数的超大集合分析方法及装置,其中方法包括如下步骤:将OLAP预计算模型中Cube下的原子指标抽象为通用指标,该通用指标包括数值指标和集合指标;在原子指标抽象后的Cube中存储各个维度组合下的集合明细数据;采用包含UDF和UDAF的扩展SQL函数对集合明细数据进行查询解析,并返回解析结果。采用本发明专利技术,可以减少存储空间的占用,提高计算效率,实现灵活查询。

Analysis method and device of super large set based on extended precomputing model and SQL function

【技术实现步骤摘要】
基于扩展预计算模型和SQL函数的超大集合分析方法及装置
本专利技术涉及大数据处理
,尤其涉及一种基于扩展预计算模型和SQL函数的超大集合分析方法及装置。
技术介绍
随着互联网、移动App的迅速发展,用户量快速增长,网站、移动App的运营者们收集的数据量越来越大。运营人员需要对用户在网站、app上的行为进行统计分析,找出其中的规律变化,从而帮助运营者进行决策。集合运算是解决上述问题的一种普遍的方法:例如,找出昨天的用户集合,与今天的用户集合做并集(两天访问过的所有去重用户)或交集(连续两天访问的用户),从这些数字的变化,业务人员能够计算出站点或App的留存率等指标,其中留存率分析是用户行为分析中的一个重要方法,被普遍使用,例如1日留存、7日留存、行为漏斗转化率等。集合运算的复杂度在于,不光要对当日或当下页面的访问用户集合进计算,还要跟另一日或另一个页面的用户集合做交、并、异或等计算。一旦集合中的元素很多,直接在大量数据上进行集合计算需要耗费大量的计算资源,以及过长的查询耗时,从而导致很难被使用。此外,由于需求多变,每次变动如果都从源数据进行计算的话,将产生大量的资源浪费,也是难以被接受的。集合运算的常用方法是根据预先确定的需求,依次计算出每日或每个页面的用户/元素集合、然后对这些集合做进一步去重、交叉、合并等计算,计算出新的集合以及指标。然而,上述运算过程略复杂、不灵活,而且效率低;一旦需求发生变化,各个集合都需要重新计算,特别是交集的计算因为可能涉及到较大集合的join操作,效率尤其低。在面对如今业务灵活变化的情况时,这样的做法越来越难以保证及时性,即使通过对数据进行采样达到减少数据量的目的,但却不能提高灵活性,同时也降低了准确性。这对分析的实际应用效果带来了巨大影响。
技术实现思路
本专利技术实施例提供一种基于扩展预计算模型和SQL函数的超大集合分析方法及装置,可以提高分析的计算效率实现灵活查询,同时可以减少存储空间的占用。本专利技术实施例第一方面提供了一种基于扩展预计算模型和SQL函数的超大集合分析方法,可包括:将OLAP预计算模型中Cube下的原子指标抽象为通用指标,通用指标包括数值指标和集合指标;在原子指标抽象后的Cube中存储各个维度组合下的集合明细数据;采用包含UDF和UDAF的扩展SQL函数对集合明细数据进行查询解析,并返回解析结果。进一步的,上述方法还包括:定义通用指标下的指标返回参数。进一步的,上述方法还包括:采用数组类型和/或位图数据结构实现集合指标的存储。进一步的,采用包含UDF和UDAF的扩展SQL函数对集合明细数据进行查询解析,并返回解析结果,包括:采用UDF将集合明细数据转化为适合集合操作的数据结构;采用UDAF对经过UDF解析的集合明细数据中的集合进行聚合运算,聚合运算包括合并、交集以及异或中的一个或多个;识别SQL查询语句,并在UDF/UDAF运算后的集合中查找SQL查询语句对应的查询结果进行输出。进一步的,识别SQL查询语句,并在UDF/UDAF运算后的集合中查找SQL查询语句对应的查询结果进行输出,包括:基于查询解析器验证UDF和UDAF执行过程的合法性;识别SQL查询语句,生成对应的执行方案;采用查询执行器按照执行方案执行查询语句,输出查询结果。本专利技术实施例第二方面提供了一种基于扩展预计算模型和SQL函数的超大集合分析装置,可包括:OLAP模型扩展模块,用于将OLAP预计算模型中Cube下的原子指标抽象为通用指标,通用指标包括数值指标和集合指标;明细数据存储模块,用于在原子指标抽象后的Cube中存储各个维度组合下的集合明细数据;SQL函数查询解析模块,用于采用包含UDF和UDAF的扩展SQL函数对集合明细数据进行查询解析,并返回解析结果。进一步的,装置还包括:参数定义模块,用于定义通用指标下的指标返回参数。进一步的,装置还包括:集合指标存储实现模块,用于采用数组类型和/或位图数据结构实现集合指标的存储。进一步的,SQL函数查询解析模块包括:UDF操作单元,用于采用UDF将集合明细数据转化为适合集合操作的数据结构;UDAF操作单元,用于采用UDAF对经过UDF解析的集合明细数据中的集合进行聚合运算,聚合运算包括合并、交集以及异或中的一个或多个;SQL查询解析单元,用于识别SQL查询语句,并在UDF/UDAF运算后的集合中查找SQL查询语句对应的查询结果进行输出。进一步的,SQL查询解析单元包括:合法性验证子单元,用于基于查询解析器验证UDF和UDAF执行过程的合法性;SQL识别子单元,用于识别SQL查询语句,生成对应的执行方案;查询执行子单元,用于采用查询执行器按照执行方案执行查询语句,输出查询结果。本专利技术实施例第三方面提供了一种计算机设备,该设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述方面的基于扩展预计算模型和SQL函数的超大集合分析方法。本专利技术实施例第四方面提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方面所述的基于扩展预计算模型和SQL函数的超大集合分析方法。在本专利技术实施例中,通过扩展传统OLAP模型使用位图作为量度,在Cube中存储各种维度值下的集合,减少了存储空间的占用提高了计算效率,此外通过扩展SQL查询方法对不同条件的集合在SQL执行期间动态进行跨行合并和交集计算,实现了灵活查询。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种基于扩展预计算模型和SQL函数的超大集合分析方法的流程示意图;图2是本专利技术实施例提供的传统OLAP模型的结构示意图;图3是本专利技术实施例提供的扩展OLAP模型的结构示意图;图4是本专利技术实施例提供的一种基于扩展预计算模型和SQL函数的超大集合分析装置的结构示意图;图5是本专利技术实施例提供的SQL函数查询解析模块的结构示意图;图6是本专利技术实施例提供的SQL查询解析单元的结构示意图;图7是本专利技术实施例提供的一种计算机设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领本文档来自技高网
...

【技术保护点】
1.一种基于扩展预计算模型和SQL函数的超大集合分析方法,其特征在于,包括:/n将OLAP预计算模型中Cube下的原子指标抽象为通用指标,所述通用指标包括数值指标和集合指标;/n在原子指标抽象后的Cube中存储各个维度组合下的集合明细数据;/n采用包含UDF和UDAF的扩展SQL函数对所述集合明细数据进行查询解析,并返回解析结果。/n

【技术特征摘要】
1.一种基于扩展预计算模型和SQL函数的超大集合分析方法,其特征在于,包括:
将OLAP预计算模型中Cube下的原子指标抽象为通用指标,所述通用指标包括数值指标和集合指标;
在原子指标抽象后的Cube中存储各个维度组合下的集合明细数据;
采用包含UDF和UDAF的扩展SQL函数对所述集合明细数据进行查询解析,并返回解析结果。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定义所述通用指标下的指标返回参数。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用数组类型和/或位图数据结构实现所述集合指标的存储。


4.根据权利要求1所述的方法,其特征在于,所述采用包含UDF和UDAF的扩展SQL函数对所述集合明细数据进行查询解析,并返回解析结果,包括:
采用UDF将所述集合明细数据转化为适合集合操作的数据结构;
采用UDAF对经过UDF解析的集合明细数据中的集合进行聚合运算,所述聚合运算包括合并、交集以及异或中的一个或多个;
识别SQL查询语句,并在UDF/UDAF运算后的集合中查找所述SQL查询语句对应的查询结果进行输出。


5.根据权利要求4所述的方法,其特征在于,所述识别SQL查询语句,并在UDF/UDAF运算后的集合中查找所述SQL查询语句对应的查询结果进行输出,包括:
基于查询解析器验证所述UDF和所述UDAF执行过程的合法性;
识别SQL查询语句,生成对应的执行方案;
采用查询执行器按照所述执行方案执行所述查询语句,输出查询结果。


6.一种基...

【专利技术属性】
技术研发人员:史少锋韩卿李扬
申请(专利权)人:跬云上海信息科技有限公司
类型:发明
国别省市:上海;31

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

1