会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 商业智能 / 一种商业智能应用查询数据的方法、装置及电子设备

一种商业智能应用查询数据的方法、装置及电子设备

申请号 CN201711341441.8 申请日 2017-12-14 公开(公告)号 CN108153834A 公开(公告)日 2018-06-12
申请人 广州市玄武无线科技股份有限公司; 发明人 林沛欣; 苏滨; 吴疆; 陈永辉;
摘要 本发明公开了一种商业智能应用查询数据的方法、装置及电子设备,该方法包括:采用JSON描述规则描述数据模型,得到数据模型的JSON描述;采用JSON描述规则描述查询分析模型,得到查询分析模型的JSON描述;将数据模型的JSON描述解析成SQL脚本;根据查询分析模型的JSON描述,将SQL脚本发送至商业智能应用。通过本发明的方法,利用JSON描述规则描述数据模型及查询分析模型,通过解析引擎对JSON描述的解析,生成SQL脚本提供至商业智能应用,对接支持SQL语法的OLAP查询分析引擎。减少了从商业智能应用到OLAP查询分析引擎语法转换步骤。
权利要求

1.一种商业智能应用查询数据的方法,其特征在于,包括:采用JSON描述规则描述数据模型,得到所述数据模型的JSON描述;

采用JSON描述规则描述查询分析模型,得到所述查询分析模型的JSON描述;

将所述数据模型的JSON描述解析成SQL脚本;以及,根据所述查询分析模型的JSON描述、以及SQL脚本执行结果,解析转换为数据模型发送至商业智能应用。

2.根据权利要求1所述的方法,其特征在于,所述采用JSON描述规则描述查询分析模型包括:响应于所述商业智能应用针对所述数据模型的查询行为,生成查询模型的JSON描述。

3.根据权利要求1所述的方法,其特征在于,所述根据所述查询分析模型的描述,将所述SQL脚本执行结果发送至商业智能应用包括:根据所述查询分析模型的描述与所述SQL脚本生成用于描述所述商业智能应用展示的数据模型;

将所述用于描述所述商业智能应用展示的数据模型提供至所述商业智能应用。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述商业智能应用渲染所述用于描述所述商业智能应用展示的数据模型。

5.一种商业智能应用查询数据的装置,其特征在于,包括:第一描述模块,用于采用JSON描述规则描述数据模型,得到所述数据模型的JSON描述;

第二描述模块,用于采用JSON描述规则描述查询分析模型,得到所述查询分析模型的JSON描述;

解析模块,用于将所述数据模型的JSON描述解析成SQL脚本;以及,发送模块,根据所述查询分析模型的JSON描述、以及SQL脚本执行结果,解析转换为数据模型发送至商业智能应用。

6.根据权利要求5所述的装置,其特征在于,所述第二描述模块还用于:响应于所述商业智能应用针对所述数据模型的查询行为,生成查询模型的JSON描述。

7.根据权利要求5所述的装置,其特征在于,所述发送模块还包括:生成单元,用于根据所述查询分析模型的描述与所述SQL脚本生成用于描述所述商业智能应用展示的数据模型;

提供单元,用于将所述用于描述所述商业智能应用展示的数据模型提供至所述商业智能应用。

8.根据权利要求5所述的装置,其特征在于,所述装置还包括:渲染模块,用于通过所述商业智能应用渲染所述用于描述所述商业智能应用展示的数据模型。

9.一种电子设备,其特征在于,包括根据权利要求5-8中任一项所述的装置。

10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据权利要求1-4中任一项所述的方法。

说明书全文

一种商业智能应用查询数据的方法、装置及电子设备

技术领域

[0001] 本发明涉及虚拟现实技术领域,更具体地,涉及一种商业智能应用查询数据的方法、装置及电子设备。

背景技术

[0002] BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
[0003] OLAP(On line Transaction Processing,联机分析处理)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。
[0004] 商业智能BI工具在与OLAP引擎对接时候,通常需要通过特定协议或者xmla协议进行交互。其中,XMLA(XML for Analysis)是一种基于简单对象访问协议(SOAP)的XML协议,它是专为对驻留在网络上的任何标准多维数据源的通用数据访问而设计的。把商业智能应用的操作转换成MDX语法再与OLAP进行交互,对于自主研发的OLAP引擎或者基于SQL查询的数据分析引擎并不能直接使用,往往需要经过再一次转换,即MDX再次转换成SQL语法。多次的转换会导致兼容性问题。

发明内容

[0005] 本发明的一个目的是提供一种至少能够解决上述问题之一的新技术方案。
[0006] 根据本发明的第一方面,提供了一种商业智能应用查询数据的方法,包括:
[0007] 采用JSON描述规则描述数据模型,得到所述数据模型的JSON描述;
[0008] 采用JSON描述规则描述查询分析模型,得到所述查询分析模型的JSON描述;
[0009] 将所述数据模型的JSON描述解析成SQL脚本;以及,
[0010] 根据所述查询分析模型的JSON描述、以及SQL脚本执行结果,解析转换为数据模型发送至商业智能应用。
[0011] 可选的是,所述采用JSON描述规则描述查询分析模型包括:
[0012] 响应于所述商业智能应用针对所述数据模型的查询行为,生成查询模型的JSON描述。
[0013] 可选的是,所述根据所述查询分析模型的描述,将所述SQL脚本执行、处理结果发送至商业智能应用包括:
[0014] 根据所述查询分析模型的描述与所述SQL脚本生成用于描述所述商业智能应用展示的数据模型;
[0015] 将所述用于描述所述商业智能应用展示的数据模型提供至所述商业智能应用。
[0016] 可选的是,所述方法还包括:
[0017] 通过所述商业智能应用渲染所述用于描述所述商业智能应用展示的数据模型。
[0018] 根据本发明的第二方面,提供了一种商业智能应用查询数据的装置,包括:
[0019] 第一描述模块,用于采用JSON描述规则描述数据模型,得到所述数据模型的JSON描述;
[0020] 第二描述模块,用于采用JSON描述规则描述查询分析模型,得到所述查询分析模型的JSON描述;
[0021] 解析模块,用于将所述数据模型的JSON描述解析成SQL脚本;以及,
[0022] 发送模块,根据所述查询分析模型的JSON描述、以及SQL脚本执行结果,解析转换为数据模型发送至商业智能应用。
[0023] 可选的是,所述第二描述模块还用于:
[0024] 响应于所述商业智能应用针对所述数据模型的查询行为,生成查询模型的JSON描述。
[0025] 可选的是,所述发送模块还包括:
[0026] 生成单元,用于根据所述查询分析模型的描述与所述SQL脚本生成用于描述所述商业智能应用展示的数据模型;
[0027] 提供单元,用于将所述用于描述所述商业智能应用展示的数据模型提供至所述商业智能应用。
[0028] 可选的是,所述装置还包括:
[0029] 渲染模块,用于通过所述商业智能应用渲染所述用于描述所述商业智能应用展示的数据模型。
[0030] 根据本发明的第三方面,提供了电子设备,包括根据本发明第二方面所述的装置。
[0031] 根据本发明的第四方面,提供了一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据本发明第一方面所述的方法。
[0032] 本发明的一个有益效果在于,通过本发明的方法,利用JSON描述规则描述数据模型及查询分析模型,通过解析引擎对JSON描述的解析,生成SQL脚本提供至商业智能应用,对接支持SQL语法的OLAP查询分析引擎。减少了从商业智能应用到OLAP查询分析引擎语法转换步骤。
[0033] 通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

[0034] 被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
[0035] 图1为根据本发明一种商业智能应用查询数据的方法的一种实施方式的流程图;
[0036] 图2为根据本发明一种商业智能应用查询数据的装置的一种实施结构的方框原理图;
[0037] 图3为根据本发明一种电子设备的一种实施结构的方框原理图;
[0038] 图4为商业智能分析中维度表与事实表之间的关系的一种实施例的示意图。

具体实施方式

[0039] 现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0040] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0041] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0042] 在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0043] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0044] 图1为根据本发明一种商业智能应用查询数据的方法的一种实施方式的流程图。
[0045] 根据图1所示,该方法包括以下步骤:
[0046] 步骤S110,采用JSON描述规则描述数据模型,得到数据模型的JSON描述。
[0047] JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
[0048] 图4为商业智能分析中维度表与事实表之间的关系的一种实施例的示意图。采用JSON描述规则描述数据模型即为采用JSON描述规则描述商业智能分析中维度表与事实表之间的关系。商业智能分析中维度表与事实表之间的关系可以直接基于数据库获取,也可以基于其他第三方工具获取。
[0049] 在此实施例中,数据模型的JSON描述可以为:
[0050]
[0051]
[0052]
[0053] 其中,inds表示事实表指标,columns表示事实表的属性列,tablename表示对应的物理表,relationdefine表示维度与事实表的关联关系,relationdefine.majortable表示维度表物理表名,relationdefine.majorcolumn表示维度表关联的字段,relationdefine.salevecolumn表示事实表表关联的字段。
[0054] 步骤S120,采用JSON描述规则描述查询分析模型,得到查询分析模型的JSON描述。
[0055] 具体的,是响应于商业智能应用针对上述数据模型的查询行为,生成查询模型的JSON描述。
[0056] 在上述实施例中,基于已采用JSON描述规则描述的数据模型,采用JSON描述规则描述查询分析模型一系列内容,包括:查询的维度、指标、维度与指标之间的交叉关系、渲染类型、数据格式化、维度钻取情况、数据过滤条件等。
[0057] 如果需要对上述的数据模型进行查询行为,查询行为的定义会生成查询模型的JSON描述:如:按【营销组织】分组,查看【销售额】查看,并渲染成【柱状图】,则查询分析模型JSON描述可以为:
[0058]
[0059]
[0060]
[0061]
[0062] 其中,reportdefine表示查询行为根节点,needdrill表示是否需要下钻,needsubtotal是否需要小计,widgettype表示最终需要渲染成为的图表类型,如bar表示柱状图,rows表示行或者横轴维度,columns表示列维度,measuregroup表示指标分组描述,measuregroup.measures表示指标描述,measuregroup.measures.seq标识指标顺序,measuregroup.measures.selection表示是否用于备选,默认不参与渲染,measuregroup .measures .format表示指标数据的格式化定义,
measuregroup.measures.chartstype表示指标渲染成何种图形,如bar柱状,line折线,slices表示筛选参数定义,slices.paramcode表示参数编码,slices.value表示参数值。
[0063] 步骤S130,将数据模型的JSON描述解析成SQL脚本。
[0064] 具体的,可以是将数据模型的JSON描述发送到服务端解析引擎解析成SQL脚本。
[0065] 步骤S140,根据查询分析模型的JSON描述,将SQL脚本发送至商业智能应用。
[0066] 进一步地,可以是根据查询分析模型的描述与SQL脚本生成用于描述声音智能应用展示的数据模型,再将其提供至商业智能应用。并通过商业智能应用渲染该用于描述声音智能应用展示的数据模型。
[0067] 本实施例以按【营销组织】分组,查看【销售额】查看,并渲染成【柱状图】说明:
[0068] 根据rows解析出select的内容以及group by的内容,如果needsubtotal等于true,则group by的内容替代为group by rollup或者group by cube。
[0069] 根据数据模型josn的relationdefine定义的关联表,解析出from部分如from bi_fact_salesamount_theme bi_fact_salesamount_theme left join bi_dim_salesarea bi_dim_salesarea on bi_fact_salesamount_theme.salesareaid=bi_dim_salesarea.salesarea id left join bi_dim_producttype bi_dim_producttype on bi_dim_producttype.producttypeid=bi_fact_salesamount_theme.produ cttypeid。
[0070] 再执行SQL脚本,根据查询模型的JSON描述,把结果发送到商业智能应用进行UI渲染。
[0071] 这样,通过本发明的方法,利用JSON描述规则描述数据模型及查询分析模型,通过解析引擎对JSON描述的解析,生成SQL脚本提供至商业智能应用,对接支持SQL语法的OLAP查询分析引擎。减少了从商业智能应用到OLAP查询分析引擎语法转换步骤。
[0072] 本发明还提供了一种商业智能应用查询数据的装置。图2为根据本发明一种智能应用查询数据的装置的一种实施结构的方框原理图。
[0073] 根据图2所示,该装置包括第一描述模块210、第二描述模块220、解析模块230和发送模块240。该第一描述模块210用于采用JSON描述规则描述数据模型,得到数据模型的JSON描述;该第二描述模块220用于采用JSON描述规则描述查询分析模型,得到查询分析模型的JSON描述;该解析模块230用于将数据模型的JSON描述解析成SQL脚本;该发送模块240用于根据查询分析模型的JSON描述,将SQL脚本发送至商业智能应用。
[0074] 具体的,第二描述模块220还用于:响应于商业智能应用针对数据模型的查询行为,生成查询模型的JSON描述。
[0075] 进一步地,发送模块240还包括生成单元和提供单元,该生成单元用于根据查询分析模型的描述与SQL脚本生成用于描述商业智能应用展示的数据模型;该提供单元,用于将用于描述商业智能应用展示的数据模型提供至商业智能应用。
[0076] 在此基础上,该装置还包括渲染模块,用于通过商业智能应用渲染用于描述商业智能应用展示的数据模型。
[0077] 本发明还提供了一种电子设备,在一方面,该虚拟现实设备包括前述的商业智能应用查询数据的装置。
[0078] 图3为根据本发明另一方面的该电子设备的一种实施结构的方框原理图。
[0079] 根据图3所示,该电子设备300包括存储器301和处理器302,该存储器301用于存储指令,该指令用于控制处理器302进行操作以执行上述商业智能应用查询数据的方法。
[0080] 该处理器302例如可以是中央处理器CPU、微处理器MCU等。该存储器301例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。
[0081] 除此之外,根据图3所示,该电子设备300还包括接口装置303、输入装置304、显示装置305、通信装置306、扬声器307、麦克风308等等。尽管在图3中示出了多个装置,但是,本发明电子设备可以仅涉及其中的部分装置,例如,处理器301、存储器302、显示装置305等。
[0082] 上述通信装置306例如能够进行有有线或无线通信。
[0083] 上述接口装置303例如包括耳机插孔、USB接口等。
[0084] 上述输入装置304例如可以包括触摸屏、按键等。
[0085] 上述显示装置305例如是液晶显示屏、触摸显示屏等。
[0086] 本发明的电子设备300例如可以是手机、平板电脑等电子产品。
[0087] 上述各实施例主要重点描述与其他实施例的不同之处,但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。
[0088] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分相互参见即可,每个实施例重点说明的都是与其他实施例的不同之处,但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的。
[0089] 本发明可以是装置、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0090] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0091] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0092] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0093] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0094] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0095] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0096] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0097] 以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。