掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及金融领域,特别是涉及一种商业智能数仓高性能路由的方法和装置。

背景技术

目前,商业智能一体化数仓由多个异构数仓组成,各数仓包含的数据信息、数据类型以及权限规则差异较大,因此任务分发前需对数据信息、数据类型和角色信息逐一遍历进行匹配数仓,效率较低。

如何提高匹配效率,缩短匹配时间,从而提高系统整体性能是本领域亟待解决的技术问题。

发明内容

为了解决上述技术问题,本申请提供了一种商业智能数仓高性能路由的方法和装置,通过构建各种数仓集合,从而可以快速得到最终符合商业智能请求中数据信息、数据类型和角色信息的数仓,无需对数据信息、数据类型和角色信息逐一遍历匹配数仓,执行效率更高。

本申请实施例公开了如下技术方案:

第一方面,本申请实施例提供了一种商业智能数仓高性能路由的方法,包括:

接收业务系统商业智能分析请求,所述请求包括数据信息、数据类型和角色信息;

根据所述角色信息确定对应的数仓,得到角色数仓集合;

根据所述数据类型和所述数据信息确定对应的数仓,得到数据数仓集合;

取所述角色数仓集合和所述数据数仓集合的交集得到最终数仓集合;

将所述最终数仓集合发送到任务分发单元,以便所述任务分发单元将所述请求拆解到所述最终数仓集合中的各个数仓并行执行。

可选的,所述方法还包括:

将所述数仓并行执行得到的结果存储;

将所述存储的结果合并并返回。

可选的,所述数仓包括:

Hadoop海杜普非结构化通用数仓、Hadoop数据环境搭建Presto普雷斯托高性能引擎的数仓、固态硬盘高性能版GBase结构化数仓、Kylin麒麟数仓和Oralce甲骨文数仓。

可选的,所述数据类型包括:

监管检查类数据、金融审计类数据、客户筛选类数据、产品营销类数据、经营指标类数据和/或分析报告类数据。

可选的,所述方法还包括:

若所述并行执行异常中断,则自动重新执行。

第二方面,本申请实施例提供了一种商业智能数仓高性能路由的装置,包括:

接收单元,用于接收业务系统商业智能分析请求,所述请求包括数据信息、数据类型和角色信息;

角色数仓集合确定单元,用于根据所述角色信息确定对应的数仓,得到角色数仓集合;

数据数仓集合确定单元,用于根据所述数据类型和所述数据信息确定对应的数仓,得到数据数仓集合;

最终数仓集合确定单元,用于取所述角色数仓集合和所述数据数仓集合的交集得到最终数仓集合;

发送单元,用于将所述最终数仓集合发送到任务分发单元,以便所述任务分发单元将所述请求拆解到所述最终数仓集合中的各个数仓并行执行。

可选的,所述装置还包括:

存储单元,用于将所述数仓并行执行得到的结果存储;

返回单元,用于将所述存储的结果合并并返回。

可选的,所述数仓包括:

Hadoop海杜普非结构化通用数仓、Hadoop数据环境搭建Presto普雷斯托高性能引擎的数仓、固态硬盘高性能版GBase结构化数仓、Kylin麒麟数仓和Oralce甲骨文数仓。

可选的,所述数据类型包括:

监管检查类数据、金融审计类数据、客户筛选类数据、产品营销类数据、经营指标类数据和/或分析报告类数据。

可选的,所述装置还包括:

重新执行单元,用于当所述并行执行异常中断时,则自动重新执行。

由上述技术方案可以看出,与现有技术相比,本申请实施例具有以下优点:

由上述技术方案可以看出,本申请实施例提供了一种商业智能数仓高性能路由的方法和装置,可以接收业务系统商业智能分析请求,请求中包括数据信息、数据类型和角色信息,根据角色信息确定对应的数仓,得到角色数仓集合,从而知道请求中的用户角色对应可以访问的数仓。根据数据类型和数据信息确定对应的数仓,得到数据数仓集合,从而可以知道请求中的数据类型和数据信息相对应的数仓。取角色数仓集合和数据数仓集合的交集得到最终数仓集合,即请求中用户角色可以访问的具有请求中数据信息和数据类型的数仓的集合,从而可以根据最终数仓集合将请求拆解到各个数仓进行并行执行。由此实现了商业智能数仓的高性能路由,无需对数据信息、数据类型和角色信息逐一遍历匹配数仓,执行效率更高。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种商业智能数仓高性能路由的方法的流程图;

图2为本申请实施例提供的一种数据分类及对应数仓选择的示意图;

图3为本申请实施例提供的一种基于路由配置模板进行路由配置的模型图;

图4为本申请实施例提供的一种进行高性能路由运算的示意图;

图5为本申请实施例提供的一种各数仓组合使用的全流程示意图;

图6为本申请实施例提供的一种商业智能数仓高性能路由的装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,商业智能一体化数仓由多个异构数仓组成,各数仓包含的数据信息、数据类型以及权限规则差异较大,因此任务分发前需对数据信息、数据类型和角色信息逐一遍历进行匹配数仓,效率较低。

如何提高匹配效率,缩短匹配时间,从而提高系统整体性能是本领域亟待解决的技术问题。

为了解决上述技术问题,本申请实施例提供了一种商业智能数仓高性能路由的方法和装置,可以接收业务系统商业智能分析请求,请求中包括数据信息、数据类型和角色信息,根据角色信息确定对应的数仓,得到角色数仓集合,从而知道请求中的用户角色对应可以访问的数仓。根据数据类型和数据信息确定对应的数仓,得到数据数仓集合,从而可以知道请求中的数据类型和数据信息相对应的数仓。取角色数仓集合和数据数仓集合的交集得到最终数仓集合,即请求中用户角色可以访问的具有请求中数据信息和数据类型的数仓的集合,从而可以根据最终数仓集合将请求拆解到各个数仓进行并行执行。由此实现了商业智能数仓的高性能路由,无需对数据信息、数据类型和角色信息逐一遍历匹配数仓,执行效率更高。

下面结合附图,详细说明本发明的各种非限制性实施方式。

参见图1,该图为本申请实施例提供的一种商业智能数仓高性能路由的方法的流程图,该方法可以包括:

S101,接收业务系统商业智能分析请求,所述请求包括数据信息、数据类型和角色信息。

在本申请实施例中,参见图2,基于商业智能分析场景,数据类型可以有冷明细数据、热明细数据及汇总数据三类。

其中,冷明细数据是面向监管检查、金融审计等历史数据检索分析类场景的数据。该类数据总量较大、极少更新、使用频率低,因此商业智能分析复杂度低,适宜采用成本低、空间大、响应速度相对一般的通用型数仓。本申请实施例考虑到实际监管审计中通常包含流水、文档等多类数据需求,数据的组成结构相对复杂,因此采用Hadoop非结构化通用数仓方案。

热明细数据是面向客户筛选、产品营销等清单筛选与即席查询场景的数据。该部分数据总量相对较小、更新频繁、使用频率高,因此商业智能分析复杂度较高,适宜采用响应快、规模小的高性能专用数仓。本申请实施例基于数据应用类型,采用双数仓方案:对于清单筛选应用,由于数据量通常较大且查询条件较为固定,采用Hadoop数据环境搭建Presto高性能引擎的数仓方案;对于即席查询类应用,由于查询条件极为灵活且对数据响应时间要求更高,逻辑条件复杂的采用GBase(SSD固态硬盘高性能版)结构化高性能数仓。

汇总数据是面向经营指标、分析报告等汇总统计场景的数据。该部分数据由明细数据经过累加、分组等大量计算得到,很难在分析时实时完成,因此需要采用数据预计算的专用数仓方案,提前进行常用数据的计算,减少分析时的数据计算量。本申请实施例基于数据应用类型,采用双数仓方案:对于分析报表等数据分组条件灵活的应用,采用按维度预汇总的Kylin方案,在每日夜间等非服务时间预先根据常用分组进行数据汇总计算;对于指标类等分组条件固定的应用,采用Oralce方案,在指标数据预加工完成后以行式数据保存,供后续分析中直接查询使用。

需要说明的是,商业智能(Business Intelligence,BI),又称商业智慧或商务智能,指用现代数据仓库、线上分析、数据挖掘和展现技术进行商业价值探查,以提升商业决策水平的方法。

数仓,全称为数据仓库(Data WareHouse),是面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合。

Hadoop,一种支持数据密集型分布式应用程序并以Apache 2.0许可协议发布的开源软件框架。支持在商品硬件构建的大型集群上运行的应用程序。

Presto,一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节,一条Presto查询可以将多个数据源的数据进行合并,可以跨越整个组织进行分析。

GBase,一种支撑海量数据快速分析的列式存储数据库,支持透明自适应压缩、智能索引,双向并行等分析特性。

Kylin,一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark上的SQL查询接口及多维分析能力,以支持超大规模数据,能在亚秒内查询巨大的表。

Oralce,是由甲骨文公司开发的以分布式数据库为核心的一组软件产品。

数据信息可以包括具体数据,如贷款数据,存款数据等。角色信息包含了用户的身份,在银行系统中,角色信息可以为柜员、客户经理、理财经理、主管、行长等。

此外,接收业务系统商业智能分析请求,还可以具体到年份和具体客户,举例来说,商业智能分析请求具体可以为银行行长查看以冷明细数据存储的A客户2018年的贷款数据。

S102,根据所述角色信息确定对应的数仓,得到角色数仓集合。

在本申请实施例中,可以在银行系统非服务时间根据标准路由模板配置角色信息相对应的数仓,路由配置模板参见图3所示,根据配置好的路由数仓集合,可以得到该角色信息对应有权限访问的数仓,还可以知道角色信息有权限访问对应数仓的时间,可以根据不同的角色信息分配不同的时间,例如行长这一角色的访问时间设置可以为长期有效,需要办理相应业务的柜员这一角色的访问时间设置可以为办理业务当日有效。

其中,将验证信息与对应的数仓路由配置信息按照“键(KEY)-值(VALUE)”型映射关系保存,其中验证信息作为“键”部分,对应的数仓路由配置信息作为“值”部分,每条“键-值”数据表示该项检查条件对应的可用、可路由数仓资源。

验证信息与对应数仓路由配置信息的“键-值”型映射采用标准化的路由配置模板,以实现“值”部分数据规则统一,便于值部分数据进行比较。如果两个“键”对应的“值”数据相同,说明该“值”对应的路由规则可以同时满足两个“键”对应的验证条件,对应数仓资源可用、可路由。

举例来说,角色信息甲和角色信息乙作为两个“键”都对应了相同的“值”-A数仓,则说明甲和乙均有访问A数仓的权限。

同理,如果两个“键”对应的“值”数据不相同,说明该“值”对应的路由规则无法同时满足两个“键”对应的验证条件,对应数仓资源不可用、不可路由。

同时,如果两个“值”对应的“键”相同,说明该“键”对应的验证条件可以同时满足两个“值”对应的路由规则。

举例来说,数仓A和数仓B这两个“值”对应的“键”均可以为角色信息甲,则说明甲既具有访问数仓A的权限也具有访问数仓B的权限。

同理,如果两个“值”对应的“键”不相同,说明该“键”对应的验证条件不能同时满足两个“值”对应的路由规则。

S103,根据所述数据类型和所述数据信息确定对应的数仓,得到数据数仓集合。

在本申请实施例中,可以在银行系统非服务时间根据标准路由模板配置数据类型和数据信息相对应的数仓,路由配置模板参见图3所示,根据配置好的数据数仓集合,可以得到具有该数据类型和数据信息的数仓。此外,还可以知道该数仓可以执行的操作类型,如明细求和、求明细的极值等,以及数仓中具体对外开放的数据。

举例来说,A数仓将冷明细贷款数据对外开放,且A数仓可以将存储在其中的甲客户的冷明细贷款数据进行求和操作。

并且,在配置数据类型和数据信息相对应的数仓时,同样采取的是将验证信息与对应的数仓路由配置信息按照“键(KEY)-值(VALUE)”型映射关系保存,其中验证信息作为“键”部分,对应的数仓路由配置信息作为“值”部分,每条“键-值”数据表示该项检查条件对应的可用、可路由数仓资源。

此时,将数据类型和数据信息作为对应的“键”,将数仓作为对应的“值”。

S104,取所述角色数仓集合和所述数据数仓集合的交集得到最终数仓集合。

在本申请实施例中,参见图4,角色数仓集合即指角色信息所对应的数仓,即角色信息有权限访问的数仓。数据数仓集合即指的是具有用户访问请求中所包含的数据类型和数据信息的数仓。在缓存单元Redis里进行集合运算,其中缓存单元采用高性能缓存Redis系统,即远程字典服务系统。两者的交集即指的是角色信息能访问的具有相应的数据类型和数据信息的数仓,将其作为最终数仓集合。

举例来说,角色数仓集合为{A1、A2、A3、A4、A5},数据数仓集合为{A1、A2、A3、A6、A7、A8},两者的交集最终数仓集合为{A1、A2、A3}。

S105,将所述最终数仓集合发送到任务分发单元,以便所述任务分发单元将所述请求拆解到所述最终数仓集合中的各个数仓并行执行。

在本申请实施例中,参见图5所示,可以将最终数仓集合发送到任务分发单元,从而任务分发单元可以根据最终数仓集合中的信息将数据分析请求拆解为各数仓对应的分析任务,提交至各数仓并行执行。

并且在各数仓并行执行完毕后可以将分析结果导出至公共缓存单元中存放,解决数仓间任务完成不一致的问题,然后将各数仓分析结果合并为最终分析结果,通过统一接口交付给各应用以便调用。

本申请实施例提供了一种商业智能数仓高性能路由的方法,可以接收业务系统商业智能分析请求,请求中包括数据信息、数据类型和角色信息,根据角色信息确定对应的数仓,得到角色数仓集合,从而知道请求中的用户角色对应可以访问的数仓。根据数据类型和数据信息确定对应的数仓,得到数据数仓集合,从而可以知道请求中的数据类型和数据信息相对应的数仓。取角色数仓集合和数据数仓集合的交集得到最终数仓集合,即请求中用户角色可以访问的具有请求中数据信息和数据类型的数仓的集合,从而可以根据最终数仓集合将请求拆解到各个数仓进行并行执行。由此实现了商业智能数仓的高性能路由,无需对数据信息、数据类型和角色信息逐一遍历匹配数仓,执行效率更高。

参见图6,为本申请实施例提供的一种商业智能数仓高性能路由的装置的示意图,可以包括:

接收单元201,用于接收业务系统商业智能分析请求,所述请求包括数据信息、数据类型和角色信息;

角色数仓集合确定单元202,用于根据所述角色信息确定对应的数仓,得到角色数仓集合;

数据数仓集合确定单元203,用于根据所述数据类型和所述数据信息确定对应的数仓,得到数据数仓集合;

最终数仓集合确定单元204,用于取所述角色数仓集合和所述数据数仓集合的交集得到最终数仓集合;

发送单元205,用于将所述最终数仓集合发送到任务分发单元,以便所述任务分发单元将所述请求拆解到所述最终数仓集合中的各个数仓并行执行。

可选的,所述装置还包括:

存储单元,用于将所述数仓并行执行得到的结果存储;

返回单元,用于将所述存储的结果合并并返回。

可选的,所述数仓包括:

Hadoop海杜普非结构化通用数仓、Hadoop数据环境搭建Presto普雷斯托高性能引擎的数仓、固态硬盘高性能版GBase结构化数仓、Kylin麒麟数仓和Oralce甲骨文数仓。

可选的,所述数据类型包括:

监管检查类数据、金融审计类数据、客户筛选类数据、产品营销类数据、经营指标类数据和/或分析报告类数据。

可选的,所述装置还包括:

重新执行单元,用于当所述并行执行异常中断时,则自动重新执行。

其中,本申请装置各单元或模块的设置可以参照图1所示的方法而实现,在此不再赘述。

本申请实施例提供了一种商业智能数仓高性能路由的装置,可以接收业务系统商业智能分析请求,请求中包括数据信息、数据类型和角色信息,根据角色信息确定对应的数仓,得到角色数仓集合,从而知道请求中的用户角色对应可以访问的数仓。根据数据类型和数据信息确定对应的数仓,得到数据数仓集合,从而可以知道请求中的数据类型和数据信息相对应的数仓。取角色数仓集合和数据数仓集合的交集得到最终数仓集合,即请求中用户角色可以访问的具有请求中数据信息和数据类型的数仓的集合,从而可以根据最终数仓集合将请求拆解到各个数仓进行并行执行。由此实现了商业智能数仓的高性能路由,无需对数据信息、数据类型和角色信息逐一遍历匹配数仓,执行效率更高。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

相关技术
  • 一种商业智能数仓高性能路由的方法和装置
  • 数仓模型的分值确定方法、装置、设备及存储介质
技术分类

06120112640850