CN112765282A - 一种数据联机分析处理方法、装置、设备及存储介质 - Google Patents

一种数据联机分析处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112765282A
CN112765282A CN202110062108.3A CN202110062108A CN112765282A CN 112765282 A CN112765282 A CN 112765282A CN 202110062108 A CN202110062108 A CN 202110062108A CN 112765282 A CN112765282 A CN 112765282A
Authority
CN
China
Prior art keywords
data
target
sql language
model
data table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110062108.3A
Other languages
English (en)
Other versions
CN112765282B (zh
Inventor
陈辛
张铭超
许伟
史安明
蔡雪
柴睿
王川
侯立冬
孟宝权
王杰
杨满智
蔡琳
梁彧
田野
傅强
金红
陈晓光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Eversec Beijing Technology Co Ltd
Original Assignee
Eversec Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Eversec Beijing Technology Co Ltd filed Critical Eversec Beijing Technology Co Ltd
Priority to CN202110062108.3A priority Critical patent/CN112765282B/zh
Publication of CN112765282A publication Critical patent/CN112765282A/zh
Application granted granted Critical
Publication of CN112765282B publication Critical patent/CN112765282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据联机分析处理方法、装置、设备及存储介质,包括:获取多维数据模型,对原始数据进行预计算,生成预计算结果集;根据预计算结果集,生成内存数据表,并将多维数据模型对应的SQL语言转换成与内存数据表对应的SQL语言;建立内存数据表与多维数据模型之间的映射关系,根据映射关系对内存数据表进行更新,并根据更新后的内存数据表,将与内存数据表对应的SQL语言转换为新的SQL语言;将查询请求转换为目标SQL语言,使用目标SQL语言获取目标数据,并将目标数据转换为目标结果集提供给用户。本发明实施例的技术方案可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。

Description

一种数据联机分析处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据联机分析处理方法、装置、设备及存储介质。
背景技术
联机分析处理(Online Analytical Processing,OLAP)是一种数据分析处理技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。
现有的实现OLAP的方法主要包括以下两种,第一种是关系型联机分析处理(Relational Online Analytical Processing,ROLAP)方法,这种方法基于关系模型存放数据,一般要求事实表和维度表按一定关系设计,使用标准结构化查询语言(StructuredQuery Language,SQL)就可以根据用户需要即时查询不同维度数据;第二种是多维模型联机分析处理(Multidimensional Online Analytical Processing,MOLAP)方法,这种方法通过多维数据模型实现OLAP,通常需要对数据进行预计算,并把预结算结果通过数据立方体(cube)的方式进行存储。
但是,ROLAP方法中当数据表中的数据量或者计算复杂度增加后,数据查询响应时间就会变长,响应速度较慢;MOLAP方法通过多维数组存储模型查询数据,虽然响应速度较快,但是由于多维数据模型一旦构建就很难进行更改,并且通过cube方式存储结果数据,导致MOLAP方法在数据查询方面灵活性较低,结果数据占用的存储空间较大。
发明内容
本发明实施例提供了一种数据联机分析处理方法、装置、设备及存储介质,可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。
第一方面,本发明实施例提供了一种数据联机分析处理方法,所述方法包括:
获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户;
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
第二方面,本发明实施例还提供了一种数据联机分析处理装置,该装置包括:
模型获取模块,用于获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
数据表生成模块,用于根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
数据表更新模块,用于建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
目标数据获取模块,用于将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户;
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行本发明任意实施例提供的数据联机分析处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的数据联机分析处理方法。
本发明实施例的技术方案通过获取用户定义的多维数据模型,响应于用户的查询请求,利用多维数据模型对原始数据进行预计算,生成预计算结果集,并根据预计算结果集生成内存数据表,将多维数据模型对应的SQL语言转换成与内存数据表对应的SQL语言,然后建立内存数据表与多维数据模型之间的映射关系,根据映射关系对内存数据表进行更新,并根据更新后的内存数据表,将与内存数据表对应的SQL语言转换为新的SQL语言,最后将查询请求转换为目标SQL语言,使用目标SQL语言获取与查询请求匹配的目标数据,并将目标数据转换为目标结果集提供给用户的技术手段,可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。
附图说明
图1是本发明实施例一中的一种数据联机分析处理方法的流程图;
图2是本发明实施例二中的一种数据联机分析处理方法的流程图;
图3a是本发明实施例三中的一种数据联机分析处理方法的流程图;
图3b是本发明实施例三中的另一种数据联机分析处理方法的流程图;
图4是本发明实施例四中的一种数据联机分析处理装置的结构图;
图5是本发明实施例五中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种数据联机分析处理方法的流程图,本实施例可适用于根据用户的查询请求,为用户提供匹配的目标数据的情形,该方法可以由数据联机分析处理装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在计算机以及所有包含程序运行功能的智能设备(例如,终端设备或者服务器)中,具体包括如下步骤:
步骤110、获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集。
在本实施例中,多维数据模型是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其中,用户可以通过预先设置的可视化的交互页面自定义多维数据模型。当检测到用户完成对多维数据模型的定义后,获取所述多维数据模型。
在此步骤中,获取到用户定义的多维数据模型后,如果检测到用户触发查询请求,则根据多维数据模型中定义的业务逻辑和计算规则,对底层数据源中的原始数据进行预计算,生成预计算结果集。
其中,数据源是指提供某种所需要数据的器件或原始媒体,具体的,所述数据源可以是数据库或者数据库服务器。
步骤120、根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言。
在此步骤中,可以将所述预计算结果集以数据表的形式存储于内存数据库中,所述数据表即为内存数据表。其中,所述内存数据库具体可以为远程字典服务(RemoteDictionary Server,Redis)数据库。
在本实施例中,生成内存数据表后,可以根据内存数据表的属性信息(例如内存数据表的表名、以及字段等),将多维数据模型对应的结构化查询语言SQL转换成与内存数据表对应的SQL语言。
步骤130、建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言。
在此步骤中,可以首先获取内存数据表的属性信息,例如内存数据表中的字段、元信息、字段类型、算法以及函数表达式等,然后获取多维数据模型的属性信息,并建立内存数据表属性信息与多维数据模型属性信息之间的映射关系,根据所述映射关系对内存数据表的属性信息进行更新,以使内存数据表中的属性信息与多维数据模型中的属性信息一一对应。
在对内存数据表更新之后,可以根据更新后的内存数据表中的属性信息(例如内存数据表的表名、以及字段等),将与内存数据表对应的SQL语言转换为新的SQL语言。
在本实施例中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型,所述联机分析处理模型也即OLAP预计算模型。
步骤140、将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户。
在此步骤中,可选的,可以根据查询请求中的查询条件,构建目标SQL语言,然后使用目标SQL语言在联机分析处理模型中获取与查询请求匹配的目标数据,将多个目标数据进行组合得到目标结果集,并将所述目标结果集通过流式输出的方式提供给用户。
在本实施例中,通过在联机分析处理模型中获取与查询请求匹配的目标数据,可以避免ROLAP方法中当数据表中的数据量或者计算复杂度增加后,数据查询响应速度较慢的问题;相比MOLAP方法中通过cube方式查询数据,本实施例中通过使用目标SQL语言获取目标数据,可以支持更加灵活的查询场景,其次,相比MOLAP方法中通过cube方式存储结果数据,本实施例通过生成结果集的方式存放目标数据,可以减少目标数据的存储空间。
本发明实施例的技术方案通过获取用户定义的多维数据模型,响应于用户的查询请求,利用多维数据模型对原始数据进行预计算,生成预计算结果集,并根据预计算结果集生成内存数据表,将多维数据模型对应的SQL语言转换成与内存数据表对应的SQL语言,然后建立内存数据表与多维数据模型之间的映射关系,根据映射关系对内存数据表进行更新,并根据更新后的内存数据表,将与内存数据表对应的SQL语言转换为新的SQL语言,最后将查询请求转换为目标SQL语言,使用目标SQL语言获取与查询请求匹配的目标数据,并将目标数据转换为目标结果集提供给用户的技术手段,可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。
实施例二
本实施例是对上述实施例一的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图2为本发明实施例二提供的一种数据联机分析处理方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,在本实施例中,如图2所示,本发明实施例提供的方法还可以包括:
步骤210、获取用户定义的多维数据模型。
步骤220、响应于用户的查询请求,对所述多维数据模型的参数进行合法性校验。
在一个具体的实施例中,所述合法校验可以是指对多维数据模型的参数进行非空性校验、或者数据源校验等。
步骤230、如果多维数据模型的参数通过所述合法性校验,则对参数进行解析,得到与多维数据模型对应的参数解析结果。
在本实施例中,所述多维数据模型的参数可以包括:所述多维数据模型中的数据表、过滤器、字段以及表达式。其中,对参数进行解析可以是对上述数据表、过滤器、字段以及表达式进行解析。
在一个具体的实施例中,对数据表解析可以是对各数据表之间关联关系进行解析,具体的,可以自定义多维数据模型描述语言描述事实表与事实表、事实表与维度表以及维度表与维度表的关联关系;对过滤器解析可以是对多维数据模型中定义的匹配方式(例如精确匹配以及模糊匹配)、逻辑表达式(例如大于、等于以及小于等)以及逻辑运算(例如与、或、非等)进行解析;对字段解析可以是对当前字段对应的原始字段的元信息解析;对表达式进行解析可以是对表达式的输入、输出类型以及不同数据源对应的表达式方言进行解析。
在此步骤中,多维数据模型中的数据表解析结果、过滤器解析结果、字段解析结果以及表达式解析结果共同构成了所述参数解析结果。
步骤240、根据参数解析结果,以及查询请求,对原始数据进行预计算,生成预计算结果集。
步骤250、根据预计算结果集,生成内存数据表,并将多维数据模型对应的结构化查询语言SQL转换成与内存数据表对应的SQL语言。
步骤260、建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言。
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
步骤270、将查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户。
在本发明实施例的一个实施方式中,在将所述查询请求转换为目标SQL语言之后,还包括:获取所述用户的角色信息,根据所述角色信息确定与所述用户匹配的目标查询范围;根据所述目标查询范围,对所述目标SQL语言进行调整。
在本实施中,当检测到用户触发查询请求后,可以获取用户的角色信息(例如超级管理员或者普通用户等),其中,不同的角色信息对应不同资源的访问权限。具体的,假设当前用户为普通用户,查询请求对应的原始查询范围中包括该用户不可访问的资源,在这种情况下,则应该在原始查询范围中将该用户不可访问的资源进行剔除,得到目标查询范围,并根据所述目标查询范围,对所述目标SQL语言进行调整。
其中,可选的使用所述目标SQL语言获取与所述查询请求匹配的目标数据,包括:使用调整后的目标SQL语言获取与所述查询请求匹配的目标数据,以实现对用户访问的资源进行限定。
在本实施例中,在将目标数据转换为目标结果集之后,还可以对目标结果集进行进一步关联分析等操作,具体的,可以对目标结果集进行脱敏处理,并将脱敏处理后的目标结果集提供给用户。其中,可以对目标结果集中的某些敏感信息通过脱敏规则进行数据变形,由此可以实现敏感隐私数据的可靠保护。
本发明实施例的技术方案通过获取用户定义的多维数据模型,响应于用户的查询请求,对多维数据模型的参数进行合法性校验,如果多维数据模型的参数通过合法性校验,则对参数进行解析,并根据参数解析结果,以及查询请求,对原始数据进行预计算,生成预计算结果集,然后根据预计算结果集,生成内存数据表,并将多维数据模型对应的SQL语言转换成与内存数据表对应的SQL语言,建立内存数据表与多维数据模型之间的映射关系,根据映射关系对内存数据表进行更新,并根据更新后的内存数据表,将与内存数据表对应的SQL语言转换为新的SQL语言,最后将查询请求转换为目标SQL语言,使用目标SQL语言获取与查询请求匹配的目标数据,并将目标数据转换为目标结果集提供给用户的技术手段,可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。
实施例三
本实施例是对上述实施例二的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图3a为本发明实施例三提供的一种数据联机分析处理方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,在本实施例中,如图3a所示,本发明实施例提供的方法还可以包括:
步骤310、获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集。
步骤320、根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言。
步骤330、建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言。
步骤340、将所述查询请求转换为目标SQL语言。
步骤350、根据所述目标SQL语言,判断所述联机分析处理模型中是否存在与所述目标SQL语言匹配的目标数据,若是,执行步骤360,若否,执行步骤370。
步骤360、从所述联机分析处理模型中获取所述目标数据。
在本发明实施例的一个实施方式中,在从所述联机分析处理模型中获取所述目标数据之后,还包括:将所述目标数据返回至数据聚合器。
其中,如果所述联机分析处理模型中存在与所述目标SQL语言匹配的目标数据,则可以查询与所述目标数据对应的路由信息,并根据所述路由信息将目标数据返回至数据聚合器。具体的,可以通过信息摘要匹配方法、元数据分析方法或者关键字匹配方法,查询与所述目标数据对应的路由信息。
步骤370、从所述原始数据中获取所述目标数据。
在本实施例中,通过判断联机分析处理模型中是否存在目标数据,一方面可以从两种目标数据获取方式(从联机分析处理模型或者原始数据中获取目标数据)中选择一种数据查询响应速度最快的获取方式,另一方面可以保证当联机分析处理模型中不存在目标数据时,仍然可以获取目标数据,由此可以提高目标数据获取结果的有效性。
步骤380、将所述目标数据转换为目标结果集提供给用户。
在本实施例的一个实施方式中,如果目标数据可以从联机分析处理模型中获取,则将目标数据转换为目标结果集,可以包括:利用所述数据聚合器将所述目标数据转换为目标结果集,由此可以提高目标数据的转换效率,进而可以提高数据查询的响应速度。
为了更好的对本发明实施例提供的技术方案进行介绍,本发明实施例可以参考下述的实施方式,如图3b所示:
步骤1:获取用户定义的多维数据模型。
步骤2:接收用户的查询请求。
步骤3:判断多维数据模型的参数是否通过合法性校验,若是,执行步骤4,若否,则结束数据联机分析处理方法流程。
步骤4:对多维数据模型的参数进行解析。
在此步骤中,还包括:根据参数解析结果,以及查询请求,对原始数据进行预计算,生成预计算结果集;根据预计算结果集,生成内存数据表,并将多维数据模型对应的结构化查询语言SQL转换成与内存数据表对应的SQL语言;建立内存数据表与多维数据模型之间的映射关系,根据映射关系对内存数据表进行更新,并根据更新后的内存数据表,将与内存数据表对应的SQL语言转换为新的SQL语言。所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
步骤5:获取所述用户的角色信息,根据角色信息判断是否要对查询范围进行调整,若是,执行步骤6,若否,执行步骤7。
步骤6:根据角色信息更新与用户匹配的查询范围。
步骤7:根据所述查询范围,以及查询请求,生成目标SQL语言。
步骤8:判断联机分析处理模型中是否存在与目标SQL语言匹配的目标数据,若是,执行步骤9,若否,执行步骤10。
步骤9:从联机分析处理模型中获取目标数据。
步骤10:从原始数据中获取目标数据。
步骤11:将目标数据转换为目标结果集。
步骤12:判断是否需要对目标结果集进行处理,若是,执行步骤13,若否,执行步骤14。
在此步骤中,可以判断是否需要对目标结果集进行进一步关联分析等操作(例如脱敏处理等)。
步骤13:对目标结果集进行处理。
步骤14:将目标结果集返回至前端提供给用户。
其中,如果对目标结果集进行处理,则将处理后的目标结果集返回至前端提供给用户。
本发明实施例提供的方法可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。
实施例四
图4为本发明实施例四提供的一种数据联机分析处理装置的结构图,该装置包括:模型获取模块410、数据表生成模块420、数据表更新模块430和目标数据获取模块440。
其中,模型获取模块410,用于获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
数据表生成模块420,用于根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
数据表更新模块430,用于建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
目标数据获取模块440,用于将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户。
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
本发明实施例的技术方案通过获取用户定义的多维数据模型,响应于用户的查询请求,利用多维数据模型对原始数据进行预计算,生成预计算结果集,并根据预计算结果集生成内存数据表,将多维数据模型对应的SQL语言转换成与内存数据表对应的SQL语言,然后建立内存数据表与多维数据模型之间的映射关系,根据映射关系对内存数据表进行更新,并根据更新后的内存数据表,将与内存数据表对应的SQL语言转换为新的SQL语言,最后将查询请求转换为目标SQL语言,使用目标SQL语言获取与查询请求匹配的目标数据,并将目标数据转换为目标结果集提供给用户的技术手段,可以提高数据查询的响应速度,支持更加灵活的查询场景,减少目标数据的存储空间。
在上述各实施例的基础上,所述多维数据模型的参数包括:所述多维数据模型中的数据表、过滤器、字段以及表达式。
模型获取模块410,可以包括:
校验单元,用于响应于用户的查询请求,对所述多维数据模型的参数进行合法性校验;
参数解析单元,用于如果所述多维数据模型的参数通过所述合法性校验,则对所述参数进行解析,得到与所述多维数据模型对应的参数解析结果;
预计算单元,用于根据所述参数解析结果,以及所述查询请求,对原始数据进行预计算,生成预计算结果集。
目标数据获取模块440,可以包括:
角色信息获取单元,用于获取所述用户的角色信息,根据所述角色信息确定与所述用户匹配的目标查询范围;
SQL语言调整单元,用于根据所述目标查询范围,对所述目标SQL语言进行调整;
数据获取单元,用于使用调整后的目标SQL语言获取与所述查询请求匹配的目标数据;
数据判断单元,用于根据所述目标SQL语言,判断所述联机分析处理模型中是否存在与所述目标SQL语言匹配的目标数据;
第一数据获取单元,用于所述联机分析处理模型中存在与所述目标SQL语言匹配的目标数据时,从所述联机分析处理模型中获取所述目标数据;
第二数据获取单元,用于所述联机分析处理模型中不存在与所述目标SQL语言匹配的目标数据时,从所述原始数据中获取所述目标数据;
脱敏处理单元,用于对所述目标结果集进行脱敏处理,并将脱敏处理后的目标结果集提供给用户;
目标数据返回单元,用于将所述目标数据返回至数据聚合器;
目标数据转换单元,用于利用所述数据聚合器将所述目标数据转换为目标结果集。
本发明实施例所提供的数据联机分析处理装置可执行本发明任意实施例所提供的数据联机分析处理方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例中的一种数据联机分析处理方法对应的程序指令/模块(例如,一种数据联机分析处理装置中的模型获取模块410、数据表生成模块420、数据表更新模块430和目标数据获取模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种数据联机分析处理方法。也即,该程序被处理器执行时实现:
获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户;
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例所提供的一种数据联机分析处理方法中的相关操作。也即,该程序被处理器执行时实现:
获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户;
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种测试异常的定位装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据联机分析处理方法,其特征在于,包括:
获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户;
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
2.根据权利要求1所述的方法,其特征在于,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集,包括:
响应于用户的查询请求,对所述多维数据模型的参数进行合法性校验;
如果所述多维数据模型的参数通过所述合法性校验,则对所述参数进行解析,得到与所述多维数据模型对应的参数解析结果;
根据所述参数解析结果,以及所述查询请求,对原始数据进行预计算,生成预计算结果集。
3.根据权利要求1所述的方法,其特征在于,在将所述查询请求转换为目标SQL语言之后,还包括:
获取所述用户的角色信息,根据所述角色信息确定与所述用户匹配的目标查询范围;
根据所述目标查询范围,对所述目标SQL语言进行调整;
使用所述目标SQL语言获取与所述查询请求匹配的目标数据,包括:
使用调整后的目标SQL语言获取与所述查询请求匹配的目标数据。
4.根据权利要求1所述的方法,其特征在于,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,包括:
根据所述目标SQL语言,判断所述联机分析处理模型中是否存在与所述目标SQL语言匹配的目标数据;
若是,则从所述联机分析处理模型中获取所述目标数据;
若否,则从所述原始数据中获取所述目标数据。
5.根据权利要求1所述的方法,其特征在于,在将所述目标数据转换为目标结果集之后,还包括:
对所述目标结果集进行脱敏处理,并将脱敏处理后的目标结果集提供给用户。
6.根据权利要求2所述的方法,其特征在于,所述多维数据模型的参数包括:所述多维数据模型中的数据表、过滤器、字段以及表达式。
7.根据权利要求4所述的方法,其特征在于,在从所述联机分析处理模型中获取所述目标数据之后,还包括:将所述目标数据返回至数据聚合器;
将所述目标数据转换为目标结果集,包括:利用所述数据聚合器将所述目标数据转换为目标结果集。
8.一种数据联机分析处理装置,其特征在于,所述装置包括:
模型获取模块,用于获取用户定义的多维数据模型,响应于用户的查询请求,利用所述多维数据模型对原始数据进行预计算,生成预计算结果集;
数据表生成模块,用于根据所述预计算结果集,生成内存数据表,并将所述多维数据模型对应的结构化查询语言SQL转换成与所述内存数据表对应的SQL语言;
数据表更新模块,用于建立所述内存数据表与所述多维数据模型之间的映射关系,根据所述映射关系对所述内存数据表进行更新,并根据更新后的内存数据表,将与所述内存数据表对应的SQL语言转换为新的SQL语言;
目标数据获取模块,用于将所述查询请求转换为目标SQL语言,使用所述目标SQL语言获取与所述查询请求匹配的目标数据,并将所述目标数据转换为目标结果集提供给用户;
其中,所述更新后的内存数据表、新的SQL语言以及多维数据模型共同构成联机分析处理模型。
9.一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求1-7中任一所述的数据联机分析处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的数据联机分析处理方法。
CN202110062108.3A 2021-01-18 2021-01-18 一种数据联机分析处理方法、装置、设备及存储介质 Active CN112765282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110062108.3A CN112765282B (zh) 2021-01-18 2021-01-18 一种数据联机分析处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110062108.3A CN112765282B (zh) 2021-01-18 2021-01-18 一种数据联机分析处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112765282A true CN112765282A (zh) 2021-05-07
CN112765282B CN112765282B (zh) 2023-11-28

Family

ID=75702769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110062108.3A Active CN112765282B (zh) 2021-01-18 2021-01-18 一种数据联机分析处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112765282B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342843A (zh) * 2021-07-06 2021-09-03 多点生活(成都)科技有限公司 大数据在线分析方法和系统
CN113435944A (zh) * 2021-07-12 2021-09-24 上海天旦网络科技发展有限公司 一种营销效果后评估系统
CN113486047A (zh) * 2021-07-12 2021-10-08 上海天旦网络科技发展有限公司 一种对目标客群进行调查分析的系统
CN114020754A (zh) * 2021-09-18 2022-02-08 中国人民解放军国防科技大学 一种数据立方体的非层次数据结构摘要方法
CN116431677A (zh) * 2023-06-15 2023-07-14 南方电网数字电网研究院有限公司 基于内存数据库的数据路由方法、系统和可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110138123A1 (en) * 2009-12-03 2011-06-09 Sybase, Inc. Managing Data Storage as an In-Memory Database in a Database Management System
CN104361118A (zh) * 2014-12-01 2015-02-18 中国人民大学 一种适应协处理器的混合olap查询处理方法
CN105205085A (zh) * 2014-06-30 2015-12-30 中兴通讯股份有限公司 一种海量数据的多维分析方法及装置
CN105930388A (zh) * 2016-04-14 2016-09-07 中国人民大学 一种基于函数依赖关系的olap分组聚集方法
CN106372114A (zh) * 2016-08-23 2017-02-01 电子科技大学 一种基于大数据的联机分析处理系统和方法
WO2019019574A1 (zh) * 2017-12-29 2019-01-31 上海跬智信息技术有限公司 一种新型的olap预计算模型及构建方法
CN109684352A (zh) * 2018-12-29 2019-04-26 江苏满运软件科技有限公司 数据分析系统、方法、存储介质及电子设备
CN110222124A (zh) * 2019-05-08 2019-09-10 跬云(上海)信息科技有限公司 基于olap的多维数据处理方法及系统
CN110413708A (zh) * 2019-07-23 2019-11-05 杭州城市大数据运营有限公司 一种面向业务术语的数据分析系统
US20200004868A1 (en) * 2018-06-27 2020-01-02 International Business Machines Corporation Dynamic incremental updating of data cubes
CN111159221A (zh) * 2019-12-31 2020-05-15 北京恒泰实达科技股份有限公司 一种通过动态构建立方体进行数据处理或查询的方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110138123A1 (en) * 2009-12-03 2011-06-09 Sybase, Inc. Managing Data Storage as an In-Memory Database in a Database Management System
CN105205085A (zh) * 2014-06-30 2015-12-30 中兴通讯股份有限公司 一种海量数据的多维分析方法及装置
CN104361118A (zh) * 2014-12-01 2015-02-18 中国人民大学 一种适应协处理器的混合olap查询处理方法
CN105930388A (zh) * 2016-04-14 2016-09-07 中国人民大学 一种基于函数依赖关系的olap分组聚集方法
CN106372114A (zh) * 2016-08-23 2017-02-01 电子科技大学 一种基于大数据的联机分析处理系统和方法
WO2019019574A1 (zh) * 2017-12-29 2019-01-31 上海跬智信息技术有限公司 一种新型的olap预计算模型及构建方法
US20200004868A1 (en) * 2018-06-27 2020-01-02 International Business Machines Corporation Dynamic incremental updating of data cubes
CN109684352A (zh) * 2018-12-29 2019-04-26 江苏满运软件科技有限公司 数据分析系统、方法、存储介质及电子设备
CN110222124A (zh) * 2019-05-08 2019-09-10 跬云(上海)信息科技有限公司 基于olap的多维数据处理方法及系统
CN110413708A (zh) * 2019-07-23 2019-11-05 杭州城市大数据运营有限公司 一种面向业务术语的数据分析系统
CN111159221A (zh) * 2019-12-31 2020-05-15 北京恒泰实达科技股份有限公司 一种通过动态构建立方体进行数据处理或查询的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JASON ARNOLD等: "A High-Performance Distributed Relational Database System for Scalable OLAP Processing", 2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), pages 738 - 748 *
包从开;黄永峰;廖旺坚;余辉;: "基于NOSQL的微博图数据管理存储平台设计与实现", 计算机与数字工程, no. 07, pages 114 - 119 *
唐兵兵: "达梦数据仓库中多维查询技术的研究", 中国优秀硕士学位论文全文数据库信息科技辑, no. 2, pages 138 - 913 *
张延松;: "数据库与MapReduce融合的大数据管理技术探索", 科研信息化技术与应用, no. 01, pages 21 - 31 *
朱明瀚: "基于数据仓库的数据搜索引擎设计与实现", 中国优秀硕士学位论文全文数据库信息科技辑, no. 5, pages 138 - 670 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342843A (zh) * 2021-07-06 2021-09-03 多点生活(成都)科技有限公司 大数据在线分析方法和系统
CN113435944A (zh) * 2021-07-12 2021-09-24 上海天旦网络科技发展有限公司 一种营销效果后评估系统
CN113486047A (zh) * 2021-07-12 2021-10-08 上海天旦网络科技发展有限公司 一种对目标客群进行调查分析的系统
CN113486047B (zh) * 2021-07-12 2022-11-22 上海天旦网络科技发展有限公司 一种对目标客群进行调查分析的系统
CN114020754A (zh) * 2021-09-18 2022-02-08 中国人民解放军国防科技大学 一种数据立方体的非层次数据结构摘要方法
CN114020754B (zh) * 2021-09-18 2024-02-02 中国人民解放军国防科技大学 一种数据立方体的非层次数据结构摘要方法
CN116431677A (zh) * 2023-06-15 2023-07-14 南方电网数字电网研究院有限公司 基于内存数据库的数据路由方法、系统和可读存储介质
CN116431677B (zh) * 2023-06-15 2023-11-21 南方电网数字电网研究院有限公司 基于内存数据库的数据路由方法、系统和可读存储介质

Also Published As

Publication number Publication date
CN112765282B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
CN112765282B (zh) 一种数据联机分析处理方法、装置、设备及存储介质
US6470333B1 (en) Knowledge extraction system and method
US9747349B2 (en) System and method for distributing queries to a group of databases and expediting data access
US20080104070A1 (en) Pattern-based filtering of query input
CN107729371B (zh) 区块链的数据索引及查询方法、装置、设备及存储介质
WO2021068549A1 (zh) 一种数据处理方法、平台及系统
CN106874426B (zh) 基于Storm的RDF流式数据关键词实时搜索方法
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
WO2012173827A2 (en) Query optimization techniques for business intelligence systems
US20140019454A1 (en) Systems and Methods for Caching Data Object Identifiers
CN111198898B (zh) 大数据查询方法及大数据查询装置
US20150302015A1 (en) Merging business object hierarchies
CN109241100B (zh) 一种查询方法、装置、设备及存储介质
US11416458B2 (en) Efficient indexing for querying arrays in databases
KR102172138B1 (ko) 분산 컴퓨팅 프레임워크 및 분산 컴퓨팅 방법
JP2024504322A (ja) クラウドリソースにわたるJavaScriptオブジェクト記法(JASON)クエリの結合
CN114969441A (zh) 基于图数据库的知识挖掘引擎系统
CN113342843A (zh) 大数据在线分析方法和系统
CN113553341A (zh) 多维数据分析方法、装置、设备及计算机可读存储介质
CN111797095A (zh) 索引构建方法和json数据查询方法
US20090030896A1 (en) Inference search engine
WO2021030138A1 (en) Cost-based optimization for document-oriented database queries
CN114138821A (zh) 一种数据库查询方法、系统和电子设备
CN114238374A (zh) 数据查询方法、装置、服务器和存储介质
CN112182177A (zh) 一种用户问题处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant