CN110287213A - 基于olap系统的数据查询方法、装置及系统 - Google Patents
基于olap系统的数据查询方法、装置及系统 Download PDFInfo
- Publication number
- CN110287213A CN110287213A CN201910595668.8A CN201910595668A CN110287213A CN 110287213 A CN110287213 A CN 110287213A CN 201910595668 A CN201910595668 A CN 201910595668A CN 110287213 A CN110287213 A CN 110287213A
- Authority
- CN
- China
- Prior art keywords
- data
- subregion
- inquiry
- keyword
- inquiry 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机技术领域,特别涉及一种基于OLAP系统的数据查询方法、装置及系统。本发明提供一种新的基于OLAP系统的数据查询方法、装置及系统,该基于OLAP系统的数据查询方法、装置及系统通过接收用户终端的查询请求,对查询请求进行分析处理,得出所需的关键字,并对关键字加上权重,将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据权重最高的关键字对第一查询表和第二查询表进行分区,且基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据;该设置可以降低查询时间,使得查询数据更加全面。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种基于OLAP系统的数据查询方法、装置及系统。
背景技术
OLAP作为数据库系统的一种典型应用场景,主要用于对数据进行查询操作,在对数据的查询过程中经常会涉及到多张数据表的联合查询,表与表之间需要通过连接操作进行关联,常见的连接操作为哈希连接。
现有技术中,采用哈希连接的数据查询的方式主要为:数据库系统的后台服务器接收用户发送的数据查询信息,根据该数据查询消息中携带的第一查询表标识和第二查询表标识,将其中行数较少的第一查询表的主键进行哈希运算,建立共享哈希表,再对第二查询表进行并行扫描,将其中每个查询线程的外键进行哈希运算获取每个线程对应的哈希值,根据每个线程的哈希值对该共享哈希表进行并行扫描,以获取用户需要的完整的数据。但是,因为多线程并行查询存在写冲突,在并行的线程较多的情况下,造成数据查询时间长,服务器的开销大的问题。
申请号为201410228109.0的中国专利提供了一种基于OLAP系统的数据查询方法、装置及系统,通过接收用户终端的查询请求,对第一查询表进行逻辑分区获取第一分区,并建立连接映射关系,再对第二查询表进行分区获取第二分区,在进行多线程查询的过程中,每个线程通过该连接映射关系,获取并扫描第一哈希子表,从而获取数据,再将该数据返回客户终端,解决了现有技术中多线程查询时间长,服务开销大的问题;但是采用该方法查询简单数据或者是基于数据表中的维度进行查询时,会使得查询步骤更加复杂,查询时间加长,且无法对于两个以上的数据表进行联合查询。
发明内容
为了解决上述技术问题,本发明提供一种新的基于OLAP系统的数据查询方法、装置及系统。
本发明具体技术方案如下:
本发明提供一种基于OLAP系统的数据查询方法,所述数据查询方法包括如下步骤:
S1:接收用户终端发送的数据查询请求,所述数据查询请求包括查询信息以及至少三个数据标识;
S2:对查询信息进行分析处理,提取至少一个关键字,在所述关键字上加上权重,并确定权重最高的关键字的数据类型,所述数据类型包括字符和多元组;
S3:将所述数据标识对应的至少三个数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据数据类型确定第一查询表和第二查询表分区方法,根据相应的分区方法对第一查询表和第二查询表进行分区;
S4:对基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据,并将所述数据返回用户终端。
一种基于OLAP系统的数据查询装置,所述数据查询装置包括如下部分:
接收模块,用于接收用户终端发送的数据查询请求,所述数据查询请求包括查询信息以及至少三个数据标识;
提取模块,对查询信息进行分析处理,提取至少一个关键字,在所述关键字上加上权重,并确定权重最高的关键字的数据类型,所述数据类型包括字符和多元组;
处理模块,将所述数据标识对应的至少三个数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据数据类型确定第一查询表和第二查询表分区方法,根据相应的分区方法对第一查询表和第二查询表进行分区;
获取模块,对基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据,并将所述数据返回用户终端。
一种基于OLAP系统的数据查询系统,所述数据查询系统包括用户终端和基于OLAP系统的数据查询装置。
本发明的有益效果如下:
本发明提供一种新的基于OLAP系统的数据查询方法、装置及系统,该基于OLAP系统的数据查询方法、装置及系统通过接收用户终端的查询请求,对查询请求进行分析处理,得出所需的关键字,并对关键字加上权重,将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据权重最高的关键字对第一查询表和第二查询表进行分区,且基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据;该设置可以降低查询时间,在对三个或三个以上的数据表查询时,可以使得查询数据更加全面,降低服务器开销,使得查询数据更加精确。
附图说明
图1为实施例1基于OLAP系统的数据查询方法的流程图;
图2-图3为实施例2步骤S3的流程图;
图4为实施例2第一坐标系的示意图;
图5-图6为实施例3步骤S4的流程图;
图7为实施例4基于OLAP系统的数据查询装置的结构框图;
图8-图9为实施例5处理模块的结构框图;
图10-图11为实施例6获取模块的结构框图;
图12为实施例7基于OLAP系统的数据查询系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述,下列实施例仅用于解释本发明的发明内容,不用于限定本发明的保护范围。
附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所描述的步骤。
实施例1
本发明实施例1提供一种基于OLAP系统的数据查询方法,如图1所示,所述数据查询方法包括如下步骤:
S1:接收用户终端发送的数据查询请求,所述数据查询请求包括查询信息以及至少三个数据标识;
S2:对查询信息进行分析处理,提取至少一个关键字,在所述关键字上加上权重,并确定权重最高的关键字的数据类型,所述数据类型包括字符和多元组;
S3:将所述数据标识对应的至少三个数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据数据类型确定第一查询表和第二查询表分区方法,根据相应的分区方法对第一查询表和第二查询表进行分区;
S4:对基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据,并将所述数据返回用户终端。
本发明提供一种新的基于OLAP系统的数据查询方法,该基于OLAP系统的数据查询方法通过接收用户终端的查询请求,对查询请求进行分析处理,得出所需的关键字,并对关键字加上权重,将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据权重最高的关键字对第一查询表和第二查询表进行分区,且基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据;该设置可以降低查询时间,在对三个或三个以上的数据表查询时,可以使得查询数据更加全面,降低服务器开销,使得查询数据更加精确。
实施例2
一种基于OLAP系统的数据查询方法,与实施例1不同的是,如图2所示,步骤S3包括如下步骤:
S31:当数据类型为字符时,分区方法为行分区,具体包括,根据第一查询表的固有顺序,对所述第一查询表进行分区处理,获取至少两个第一分区;
S32:根据各第一分区的主键对相应的第一分析进行哈希运算,建立对应的行哈希子表,并建立所述第一分区的边界值范围与对应的行哈希子表标识的第一连接映射关系;
S33:根据并行处理能力对第二查询表进行分区处理,获取至少两个第二分区。
如图3所示,本实施例中步骤S3还包括如下步骤:
S34:当数据类型为多元组时,分区方法为列分区,具体包括,对于第一查询表,以原数据表的维度为坐标分别建立第一坐标系,在第一坐标系中基于规则或算法生成至少一个第一坐标点,各所述第一坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
S35:建立第一坐标点与第一坐标系标识之间的第二连接映射关系;
S36:对于第二查询表,以原数据表的维度为坐标分别建立第二坐标系,在第二坐标系中基于规则或算法生成至少一个第二坐标点,各所述第二坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
S37:建立第二坐标点与第二坐标系标识之间的第三连接映射关系;
S38:建立第一坐标点与第二坐标点之间的第四连接映射关系。
本实施例中将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,再采用上述方法对第一查询表和第二查询表进行分区,进一步增大了查询的精确度,缩短了查询时间,且采用列分区的方式,无论第一查询表、第二查询表有序还是无序均可在快速分区后精确搜索到相关数据;第一--第四连接映射关系均可以以表格形式表示,可选的,还可以通过映射、数组、集合等其他形式进行表示,可根据实际应用环境进行选取,对此本发明不做限制;第一坐标点和第二坐标点均可以基于规则或算法生成,所述规则为人为设定或随机生成,所述算法包括已知的机器学习算法,比如神经网络算法、马尔可夫算法,基于本发明构思选择其他AI算法生成坐标点(包括第一坐标点和第二坐标点)均在本发明保护之内。
例如,有四个数据表:a表,行数1000,维度A、B,b表,行数1000,维度C、D,c表,行数2000,维度E、F,d表,行数2003,维度G、H;a、b表行数相同,可以合并为第一查询表ab,行数1000,维度A、B、C、D,c、d表行数相似,可以合并为第二查询表cd,行数2000,维度E、F、G、H,d表中余下的3行按照现有技术的方式进行搜索查询;
行分区方法中,如第一查询表中存储量26名学生的学号和对应的姓名、性别、年龄、班级,即该第一查询表的属性包括学号、姓名、性别、年龄、班级,主键为学号,且该第一查询表是按照学号顺序排列的;与该第一查询表关联的第二查询表中存储了52名学生的学号、语文成绩、数学成绩、英语成绩和总分,且第二查询表中的姓名为第一查询表的外键。
第一查询表采用上述行分区方法进行分区,生成多个行哈希子表,并建立第一分区的边界值范围与对应的行哈希子表标识的第一连接映射关系;第二查询表可以根据并行处理能力自上至下依次分为多个区。
列分区方法中,对于第一查询表,分别建立以A、B为坐标轴的二维第一坐标系以及以C、D为坐标轴的二维第一坐标系,例如,如图4所示,在以A、B为坐标轴建成的第一坐标系中生成一个坐标点M,将该坐标点M用线段分别与X轴和Y轴垂直连接,此时,两条线段和两坐标轴围成一正方形,该正方形的范围为第一维度分区,当然,每个坐标系中可以分为多个区,如,在同一坐标系中再生成一个坐标点L,但是L到X轴和到Y轴的距离不相等,如,到X轴距离大于到Y轴距离,此时,需要将点L先与Y轴连接再沿横坐标的长度方向延伸直至到Y轴的距离等于到X轴的距离时停止,然后将点L与X轴相连,此时,点M与点L之间围成的距离为又一第一维度分区,依次类推,第二查询表的分区方式类似;若其中一数据表的维度为三维时,建立以这三个维度为坐标轴的三维坐标系。
进一步地,以另一方式对列分区进行说明,如图4所示,在以A、B为坐标轴建成的第一坐标系中生成一个坐标点M(m,m),L(n,l),且l和n均大于m,n大于l,此时,坐标点M与两坐标轴围成的面积为m×m的区域为第一维度分区,再以点L的最大坐标n为基点寻找出点L’(n,n),坐标点L’与两坐标轴围成的面积为n×n,n×n-m×m的区域为另一第一维度分区,依次类推,第二查询表的分区方式类似。
接收到的查询信息可以为:1)学号为A1的学生的姓名、性别、年龄、班级、语文成绩、数学成绩、英语成绩和总分;2)26名学生的姓名、性别、年龄、班级、语文成绩、数学成绩、英语成绩和总分;3)张三的语文成绩、数学成绩、英语成绩和总分;4)语文成绩为100分且班级为三年二班的学生的学号等;
在接收到上述的查询信息后,进行分析处理,并提取至少一个关键词,并对关键词加上权重,1)中的关键词有:A1-权重90%,基本信息(姓名、性别、年龄、班级、语文成绩、数学成绩、英语成绩和总分)-权重70%;2)中的关键词有:26名学生-权重92%,基本信息(姓名、性别、年龄、班级、语文成绩、数学成绩、英语成绩和总分)-权重70%;3)中的关键词有:张三-权重95%,基本信息(语文成绩、数学成绩、英语成绩和总分)-80%;4)中的关键词有:语文成绩100分-权重95%,班级为三年二班-90%,学号-80%;因此,对于查询信息1)和2)来说,A1和26名学生为主键,属于字符,采用行分区,对于查询信息3)和4)来说,张三和语文成绩均为维度,属于多元组,采用列分区。
实施例3
一种基于OLAP系统的数据查询方法,与实施例2不同的是,如图5所示,步骤S4包括如下步骤:
S41:当分区方法为行分区时,对权重最高的关键字进行分析,判断该关键字表示的是数据还是数据组;若是数据,则进行步骤S42,若是数据组,则进行步骤S45;
S42:在各第二分区中扫描与所述数据对应的外键作为第一外键值;
S43:查询连接第一连接映射关系,获取与第一外键值对应的行哈希子表,扫描所述行哈希子表,初步获取与权重最高的关键字对应的数据;
S44:基于剩余的关键字对初步查询结果进行进一步的筛选,获得最终数据,并将最终数据返回用户终端;
S45:对各第二分区进行扫描,获取至少两个第二外键值,各所述第二外键值在其中一所述第一分区的边界值范围内;
S46:查询连接第一连接映射关系,获取与各第二外键值对应的至少一个行哈希子表,扫描各所述行哈希子表,初步获取与权重最高的关键字对应的数据,并进行步骤S44。
如图6所示,本实施例中步骤S4还包括如下步骤:
S47:当分区方法为列分区时,对权重最高的关键字进行分析,并确定该查询值对应的维度;
S48:根据维度扫描相应的第一坐标系中的各第一维度分区或第二坐标系中的各第二维度分区,获取对应的查询第一坐标点或第二坐标点;
S49:查询第二连接映射关系或第三连接映射关系,初步获得与权重最高的关键字对应的数据;
S50:查询第四连接映射关系和第三连接映射关系或第二连接映射关系,获取与第一坐标点或第二坐标点对应的第二坐标系或第一坐标系;
S51:对第二坐标系中的各第二维度分区或第一坐标系中的各第一维度分区进行扫描,获得第二查询数据,并基于剩余的关键字对第二查询数据进行筛选,获得最终数据,并将最终数据返回用户终端。
本实施例中采用上述方法对数据进行查询,使得数据查询的结果更加精确,查询的时间更短。
采用行分区方法时,对权重最高的关键字进行分析处理,判断是数据还是数据组,如查询信息1)中的A1则为数据,2)中的26名学生则为数据组;例如,对于1)来说,在第二查询表的各第二分区中并行扫描外键,找到姓名A1作为第一外键,通过查询第一连接映射关系,根据边界范围找到对应的哈希子表,扫描该哈希子表,初步获得A1的基本信息,例如:姓名-张三、性别-男、年龄-18、班级-高三三班、语文成绩120、数学成绩145、英语成绩130和总分600,其余的关键字为基本信息,而基本信息包括姓名、性别、年龄、班级、语文成绩、数学成绩、英语成绩和总分,则筛选出来的最终数据为A1:姓名-张三、性别-男、年龄-18、班级-高三三班、语文成绩120、数学成绩145、英语成绩130和总分600,将该最终数据返回用户终端。
采用列分区方法时,以查询信息3)为例,对关键字张三进行分析后得出年龄属于第一查询表中的姓名维度,则对年龄对应的坐标系进行扫描,获得对应的坐标点M,查询第二连接映射关系,获得与张三有关的数据,学号-A1,姓名-张三、性别-男、年龄-18、班级-高三三班,查询第四连接映射关系和第三连接映射关系,获得与M点对应的第二坐标系,并扫描第二坐标系中的各第二维度分区,获得第二查询数据学号-A1,姓名-张三、性别-男、年龄-18、班级-高三三班,语文成绩120、数学成绩145、英语成绩130和总分600,余下关键字为基本信息,而基本信息包括文成绩、数学成绩、英语成绩和总分,则,得出最终数据姓名-张三,语文成绩120、数学成绩145、英语成绩130和总分600。
实施例4
一种基于OLAP系统的数据查询装置,如图7所示,所述数据查询装置包括如下部分:
接收模块1,用于接收用户终端发送的数据查询请求,所述数据查询请求包括查询信息以及至少三个数据标识;
提取模块2,对查询信息进行分析处理,提取至少一个关键字,在所述关键字上加上权重,并确定权重最高的关键字的数据类型,所述数据类型包括字符和多元组;
处理模块3,将所述数据标识对应的至少三个数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据数据类型确定第一查询表和第二查询表分区方法,根据相应的分区方法对第一查询表和第二查询表进行分区;
获取模块4,对基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据,并将所述数据返回用户终端。
本发明提供一种新的基于OLAP系统的数据查询装置,该基于OLAP系统的数据查询装置通过接收用户终端的查询请求,对查询请求进行分析处理,得出所需的关键字,并对关键字加上权重,将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据权重最高的关键字对第一查询表和第二查询表进行分区,且基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据;该设置可以降低查询时间,在对三个或三个以上的数据表查询时,可以使得查询数据更加全面,降低服务器开销,使得查询数据更加精确。
实施例5
一种基于OLAP系统的数据查询装置,与实施例4不同的是,如图8所示,所述处理模块3包括如下部分:
第一行分区单元301,用于当数据类型为字符时,分区方法为行分区,具体包括,根据第一查询表的固有顺序,对所述第一查询表进行分区处理,获取至少两个第一分区;
第一映射关系建立单元302,根据各第一分区的主键对相应的第一分析进行哈希运算,建立对应的行哈希子表,并建立所述第一分区的边界值范围与对应的行哈希子表标识的第一连接映射关系;
第二行分区单元303,根据并行处理能力对第二查询表进行分区处理,获取至少两个第二分区。
如图9所示,所述处理模块3还包括如下部分:
第一列分区单元304,用于当数据类型为多元组时,分区方法为列分区,具体包括,对于第一查询表,以原数据表的维度为坐标分别建立第一坐标系,在第一坐标系中基于规则或算法生成至少一个第一坐标点,各所述第一坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
第二映射关系建立单元305,建立第一坐标点与第一坐标系标识之间的第二连接映射关系;
第二列分区单元306,对于第二查询表,以原数据表的维度为坐标分别建立第二坐标系,在第二坐标系中基于规则或算法生成至少一个第二坐标点,各所述第二坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
第三映射关系建立单元307,建立第二坐标点与第二坐标系标识之间的第三连接映射关系;
第四映射关系建立单元308,建立第一坐标点与第二坐标点之间的第四连接映射关系。
本实施例中将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,再采用上述方法对第一查询表和第二查询表进行分区,进一步增大了查询的精确度,缩短了查询时间,且采用列分区的方式,无论第一查询表、第二查询表有序还是无序均可在快速分区后精确搜索到相关数据;第一--第四连接映射关系均可以以表格形式表示,可选的,还可以通过映射、数组、集合等其他形式进行表示,可根据实际应用环境进行选取,对此本发明不做限制;第一坐标点和第二坐标点均可以基于规则或算法生成,所述规则为人为设定或随机生成,所述算法包括已知的机器学习算法,比如神经网络算法、马尔可夫算法,基于本发明构思选择其他AI算法生成坐标点(包括第一坐标点和第二坐标点)均在本发明保护之内。
实施例6
一种基于OLAP系统的数据查询装置,与实施例6不同的是,如图10所示,所述获取模块4包括如下部分:
分析判断单元401,用于当分区方法为行分区时,对权重最高的关键字进行分析,判断该关键字表示的是数据还是数据组;若是数据,第一行扫描单元402发送第一扫描指令,若是数据组,则向第二行扫描单元405发送第二扫描指令;
第一行扫描单元402,用于在接收到第一扫描指令后,在各第二分区中扫描与所述数据对应的外键作为第一外键值;
初步结果获取单元403,用于查询连接第一连接映射关系,获取与第一外键值对应的行哈希子表,扫描所述行哈希子表,初步获取与权重最高的关键字对应的数据;
第一发送单元404,用于基于剩余的关键字对初步查询结果进行进一步的筛选,获得最终数据,并将最终数据返回用户终端;
第二行扫描单元405,用于接收到第二扫描指令后,对各第二分区进行扫描,获取至少两个第二外键值,各所述第二外键值在其中一所述第一分区的边界值范围内;
查询结果获取单元406,查询连接第一连接映射关系,获取与各第二外键值对应的至少一个行哈希子表,扫描各所述行哈希子表,初步获取与权重最高的关键字对应的数据,并向第一发送单元404发送筛选发送的指令。
如图11所示,优选的,所述获取模块4还包括如下部分:
分析确定单元407,用于当分区方法为列分区时,对权重最高的关键字进行分析,并确定该查询值对应的维度;
列扫描单元408,用于根据维度扫描相应的第一坐标系中的各第一维度分区或第二坐标系中的各第二维度分区,获取对应的查询第一坐标点或第二坐标点;
第一查询单元409,用于查询第二连接映射关系或第三连接映射关系,初步获得与权重最高的关键字对应的数据;
第二查询单元410,用于查询第四连接映射关系和第三连接映射关系或第二连接映射关系,获取与第一坐标点或第二坐标点对应的第二坐标系或第一坐标系;
数据处理单元411,用于对第二坐标系中的各第二维度分区或第一坐标系中的各第一维度分区进行扫描,获得第二查询数据,并基于剩余的关键字对第二查询数据进行筛选,获得最终数据,并将最终数据返回用户终端。
本实施例中采用上述方法对数据进行查询,使得数据查询的结果更加精确,查询的时间更短。
实施例4-实施例6中提供的基于OLAP系统的数据查询装置,可以用于对应执行实施例1-实施例3任一实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
实施例7
一种基于OLAP系统的数据查询系统,如图12所示,所述数据查询系统包括用户终端10和实施例4-实施例6任一所述的基于OLAP系统的数据查询装置20。其中,用户终端用于向基于OLAP系统的数据查询装置发送数据查询消息,并用于接收该基于OLAP系统的数据查询装置返回的数据;基于OLAP系统的数据查询装置用于执行实施例1-实施例3中任一方法实施例的技术方案,其实现原理和技术效果类型,此处不再赘述。
本发明提供一种新的基于OLAP系统的数据查询系统,该基于OLAP系统的数据查询装系统通过接收用户终端的查询请求,对查询请求进行分析处理,得出所需的关键字,并对关键字加上权重,将各数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据权重最高的关键字对第一查询表和第二查询表进行分区,且基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据;该设置可以降低查询时间,在对三个或三个以上的数据表查询时,可以使得查询数据更加全面,降低服务器开销,使得查询数据更加精确。
由于本发明的方法描述是在计算机系统中实现的。该计算机系统例如可以设置在服务器或客户端的处理器中。例如本文所述的方法可以实现为能以控制逻辑来执行的软件,其由服务器中的CPU来执行。本文所述的功能可以实现为存储在非暂时性有形计算机可读介质中的程序指令集合。当以这种方式实现时,该计算机程序包括一组指令,当该组指令由计算机运行时其促使计算机执行能实施上述功能的方法。可编程逻辑可以暂时或永久地安装在非暂时性有形计算机可读介质中,例如只读存储器芯片、计算机存储器、磁盘或其他存储介质。除了以软件来实现之外,本文所述的逻辑可以利用分利部件、集成电路、与可编程逻辑设备(诸如,现场可编程门阵列(FPGA)或微处理器)结合使用的可编程逻辑,或者包括它们任意组合的任何其他设备来体现。所有此类实施旨在落入本发明的范围之内。
以上所述实施例仅仅是本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
Claims (10)
1.一种基于OLAP系统的数据查询方法,其特征在于,所述数据查询方法包括如下步骤:
S1:接收用户终端发送的数据查询请求,所述数据查询请求包括查询信息以及至少三个数据标识;
S2:对查询信息进行分析处理,提取至少一个关键字,在所述关键字上加上权重,并确定权重最高的关键字的数据类型,所述数据类型包括字符和多元组;
S3:将所述数据标识对应的至少三个数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据数据类型确定第一查询表和第二查询表分区方法,根据相应的分区方法对第一查询表和第二查询表进行分区;
S4:对基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据,并将所述数据返回用户终端。
2.根据权利要求1所述的基于OLAP系统的数据查询方法,其特征在于,步骤S3包括如下步骤:
S31:当数据类型为字符时,分区方法为行分区,具体包括,根据第一查询表的固有顺序,对所述第一查询表进行分区处理,获取至少两个第一分区;
S32:根据各第一分区的主键对相应的第一分析进行哈希运算,建立对应的行哈希子表,并建立所述第一分区的边界值范围与对应的行哈希子表标识的第一连接映射关系;
S33:根据并行处理能力对第二查询表进行分区处理,获取至少两个第二分区。
3.根据权利要求2所述的基于OLAP系统的数据查询方法,其特征在于,步骤S3还包括如下步骤:
S34:当数据类型为多元组时,分区方法为列分区,具体包括,对于第一查询表,以原数据表的维度为坐标分别建立第一坐标系,在第一坐标系中基于规则或算法生成至少一个第一坐标点,各所述第一坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
S35:建立第一坐标点与第一坐标系标识之间的第二连接映射关系;
S36:对于第二查询表,以原数据表的维度为坐标分别建立第二坐标系,在第二坐标系中基于规则或算法生成至少一个第二坐标点,各所述第二坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
S37:建立第二坐标点与第二坐标系标识之间的第三连接映射关系;
S38:建立第一坐标点与第二坐标点之间的第四连接映射关系。
4.根据权利要求2所述的基于OLAP系统的数据查询方法,其特征在于,步骤S4包括如下步骤:
S41:当分区方法为行分区时,对权重最高的关键字进行分析,判断该关键字表示的是数据还是数据组;若是数据,则进行步骤S42,若是数据组,则进行步骤S45;
S42:在各第二分区中扫描与所述数据对应的外键作为第一外键值;
S43:查询连接第一连接映射关系,获取与第一外键值对应的行哈希子表,扫描所述行哈希子表,初步获取与权重最高的关键字对应的数据;
S44:基于剩余的关键字对初步查询结果进行进一步的筛选,获得最终数据,并将最终数据返回用户终端;
S45:对各第二分区进行扫描,获取至少两个第二外键值,各所述第二外键值在其中一所述第一分区的边界值范围内;
S46:查询连接第一连接映射关系,获取与各第二外键值对应的至少一个行哈希子表,扫描各所述行哈希子表,初步获取与权重最高的关键字对应的数据,并进行步骤S44。
5.根据权利要求3所述的基于OLAP系统的数据查询方法,其特征在于,步骤S4还包括如下步骤:
S47:当分区方法为列分区时,对权重最高的关键字进行分析,并确定该查询值对应的维度;
S48:根据维度扫描相应的第一坐标系中的各第一维度分区或第二坐标系中的各第二维度分区,获取对应的查询第一坐标点或第二坐标点;
S49:查询第二连接映射关系或第三连接映射关系,初步获得与权重最高的关键字对应的数据;
S50:查询第四连接映射关系和第三连接映射关系或第二连接映射关系,获取与第一坐标点或第二坐标点对应的第二坐标系或第一坐标系;
S51:对第二坐标系中的各第二维度分区或第一坐标系中的各第一维度分区进行扫描,获得第二查询数据,并基于剩余的关键字对第二查询数据进行筛选,获得最终数据,并将最终数据返回用户终端。
6.一种基于OLAP系统的数据查询装置,其特征在于,所述数据查询装置包括如下部分:
接收模块(1),用于接收用户终端发送的数据查询请求,所述数据查询请求包括查询信息以及至少三个数据标识;
提取模块(2),对查询信息进行分析处理,提取至少一个关键字,在所述关键字上加上权重,并确定权重最高的关键字的数据类型,所述数据类型包括字符和多元组;
处理模块(3),将所述数据标识对应的至少三个数据表中行数相同或相近的数据表合并形成第一查询表和第二查询表,根据数据类型确定第一查询表和第二查询表分区方法,根据相应的分区方法对第一查询表和第二查询表进行分区;
获取模块(4),对基于权重最高的关键字对分区后的第一查询表和第二查询表进行扫描,得到初步查询结果,基于剩余的关键字对初步查询结果进行进一步的扫描,获得最终数据,并将所述数据返回用户终端。
7.根据权利要求6所述的基于OLAP系统的数据查询装置,其特征在于,所述处理模块(3)包括如下部分:
第一行分区单元(301),用于当数据类型为字符时,分区方法为行分区,具体包括,根据第一查询表的固有顺序,对所述第一查询表进行分区处理,获取至少两个第一分区;
第一映射关系建立单元(302),根据各第一分区的主键对相应的第一分析进行哈希运算,建立对应的行哈希子表,并建立所述第一分区的边界值范围与对应的行哈希子表标识的第一连接映射关系;
第二行分区单元(303),根据并行处理能力对第二查询表进行分区处理,获取至少两个第二分区。
8.根据权利要求7所述的基于OLAP系统的数据查询装置,其特征在于,所述处理模块(3)包括还如下部分:
第一列分区单元(304),用于当数据类型为多元组时,分区方法为列分区,具体包括,对于第一查询表,以原数据表的维度为坐标分别建立第一坐标系,在第一坐标系中基于规则或算法生成至少一个第一坐标点,各所述第一坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
第二映射关系建立单元(305),建立第一坐标点与第一坐标系标识之间的第二连接映射关系;
第二列分区单元(306),对于第二查询表,以原数据表的维度为坐标分别建立第二坐标系,在第二坐标系中基于规则或算法生成至少一个第二坐标点,各所述第二坐标点与坐标轴之间的区域为第一维度分区,且每个区域中的各边长均相等;
第三映射关系建立单元(307),建立第二坐标点与第二坐标系标识之间的第三连接映射关系;
第四映射关系建立单元(308),建立第一坐标点与第二坐标点之间的第四连接映射关系。
9.根据权利要求7所述的基于OLAP系统的数据查询装置,其特征在于,所述获取模块(4)包括如下部分:
分析判断单元(401),用于当分区方法为行分区时,对权重最高的关键字进行分析,判断该关键字表示的是数据还是数据组;若是数据,第一行扫描单元(402)发送第一扫描指令,若是数据组,则向第二行扫描单元(405)发送第二扫描指令;
第一行扫描单元(402),用于在接收到第一扫描指令后,在各第二分区中扫描与所述数据对应的外键作为第一外键值;
初步结果获取单元(403),用于查询连接第一连接映射关系,获取与第一外键值对应的行哈希子表,扫描所述行哈希子表,初步获取与权重最高的关键字对应的数据;
第一发送单元(404),用于基于剩余的关键字对初步查询结果进行进一步的筛选,获得最终数据,并将最终数据返回用户终端;
第二行扫描单元(405),用于接收到第二扫描指令后,对各第二分区进行扫描,获取至少两个第二外键值,各所述第二外键值在其中一所述第一分区的边界值范围内;
查询结果获取单元(406),查询连接第一连接映射关系,获取与各第二外键值对应的至少一个行哈希子表,扫描各所述行哈希子表,初步获取与权重最高的关键字对应的数据,并向第一发送单元(404)发送筛选发送的指令;
优选的,所述获取模块(4)还包括如下部分:
分析确定单元(407),用于当分区方法为列分区时,对权重最高的关键字进行分析,并确定该查询值对应的维度;
列扫描单元(408),用于根据维度扫描相应的第一坐标系中的各第一维度分区或第二坐标系中的各第二维度分区,获取对应的查询第一坐标点或第二坐标点;
第一查询单元(409),用于查询第二连接映射关系或第三连接映射关系,初步获得与权重最高的关键字对应的数据;
第二查询单元(410),用于查询第四连接映射关系和第三连接映射关系或第二连接映射关系,获取与第一坐标点或第二坐标点对应的第二坐标系或第一坐标系;
数据处理单元(411),用于对第二坐标系中的各第二维度分区或第一坐标系中的各第一维度分区进行扫描,获得第二查询数据,并基于剩余的关键字对第二查询数据进行筛选,获得最终数据,并将最终数据返回用户终端。
10.一种基于OLAP系统的数据查询系统,其特征在于,所述数据查询系统包括用户终端(10)和权利要求6-权利要求9任一所述的基于OLAP系统的数据查询装置(20)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910595668.8A CN110287213B (zh) | 2019-07-03 | 2019-07-03 | 基于olap系统的数据查询方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910595668.8A CN110287213B (zh) | 2019-07-03 | 2019-07-03 | 基于olap系统的数据查询方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287213A true CN110287213A (zh) | 2019-09-27 |
CN110287213B CN110287213B (zh) | 2023-02-17 |
Family
ID=68020441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910595668.8A Active CN110287213B (zh) | 2019-07-03 | 2019-07-03 | 基于olap系统的数据查询方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287213B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837545A (zh) * | 2019-11-13 | 2020-02-25 | 贵州医渡云技术有限公司 | 交互式数据分析方法、装置、介质及电子设备 |
CN111209296A (zh) * | 2019-12-31 | 2020-05-29 | 航天信息股份有限公司企业服务分公司 | 数据库访问方法、装置、电子设备及存储介质 |
CN113094444A (zh) * | 2020-01-09 | 2021-07-09 | 北京沃东天骏信息技术有限公司 | 数据处理方法、数据处理装置、计算机设备和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995879A (zh) * | 2014-05-27 | 2014-08-20 | 华为技术有限公司 | 基于olap系统的数据查询方法、装置及系统 |
US20150032730A1 (en) * | 2013-07-23 | 2015-01-29 | Aware, Inc. | Data Analysis Engine |
CN104685496A (zh) * | 2012-09-28 | 2015-06-03 | 甲骨文国际公司 | 关系型数据库管理系统中删减聚类表的磁盘块 |
CN105793843A (zh) * | 2013-09-21 | 2016-07-20 | 甲骨文国际公司 | 用于oltp和分析工作量的用于内存数据库的组合行和列式存储 |
CN107329983A (zh) * | 2017-06-01 | 2017-11-07 | 昆仑智汇数据科技(北京)有限公司 | 一种机器数据分布式存储、读取方法及系统 |
CN107784044A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 表数据查询方法及装置 |
CN108763240A (zh) * | 2018-03-22 | 2018-11-06 | 五八有限公司 | 基于olap的数据查询方法、装置、设备及存储介质 |
CN109241159A (zh) * | 2018-08-07 | 2019-01-18 | 威富通科技有限公司 | 一种数据立方体的分区查询方法、系统及终端设备 |
CN109299197A (zh) * | 2018-08-07 | 2019-02-01 | 威富通科技有限公司 | 一种数据立方体的分区方法、系统及终端设备 |
US20190087457A1 (en) * | 2017-09-21 | 2019-03-21 | Oracle International Corporation | Function semantic based partition-wise sql execution and partition pruning |
CN109840254A (zh) * | 2018-12-14 | 2019-06-04 | 湖南亚信软件有限公司 | 一种数据虚拟化及查询方法、装置 |
-
2019
- 2019-07-03 CN CN201910595668.8A patent/CN110287213B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104685496A (zh) * | 2012-09-28 | 2015-06-03 | 甲骨文国际公司 | 关系型数据库管理系统中删减聚类表的磁盘块 |
US20150032730A1 (en) * | 2013-07-23 | 2015-01-29 | Aware, Inc. | Data Analysis Engine |
CN105793843A (zh) * | 2013-09-21 | 2016-07-20 | 甲骨文国际公司 | 用于oltp和分析工作量的用于内存数据库的组合行和列式存储 |
CN103995879A (zh) * | 2014-05-27 | 2014-08-20 | 华为技术有限公司 | 基于olap系统的数据查询方法、装置及系统 |
CN107784044A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 表数据查询方法及装置 |
CN107329983A (zh) * | 2017-06-01 | 2017-11-07 | 昆仑智汇数据科技(北京)有限公司 | 一种机器数据分布式存储、读取方法及系统 |
US20190087457A1 (en) * | 2017-09-21 | 2019-03-21 | Oracle International Corporation | Function semantic based partition-wise sql execution and partition pruning |
CN108763240A (zh) * | 2018-03-22 | 2018-11-06 | 五八有限公司 | 基于olap的数据查询方法、装置、设备及存储介质 |
CN109241159A (zh) * | 2018-08-07 | 2019-01-18 | 威富通科技有限公司 | 一种数据立方体的分区查询方法、系统及终端设备 |
CN109299197A (zh) * | 2018-08-07 | 2019-02-01 | 威富通科技有限公司 | 一种数据立方体的分区方法、系统及终端设备 |
CN109840254A (zh) * | 2018-12-14 | 2019-06-04 | 湖南亚信软件有限公司 | 一种数据虚拟化及查询方法、装置 |
Non-Patent Citations (1)
Title |
---|
吴湘宁: "地质环境数据仓库联机分析处理与数据挖掘研究", 《中国优秀博士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837545A (zh) * | 2019-11-13 | 2020-02-25 | 贵州医渡云技术有限公司 | 交互式数据分析方法、装置、介质及电子设备 |
CN111209296A (zh) * | 2019-12-31 | 2020-05-29 | 航天信息股份有限公司企业服务分公司 | 数据库访问方法、装置、电子设备及存储介质 |
CN113094444A (zh) * | 2020-01-09 | 2021-07-09 | 北京沃东天骏信息技术有限公司 | 数据处理方法、数据处理装置、计算机设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110287213B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287213A (zh) | 基于olap系统的数据查询方法、装置及系统 | |
Carmichael et al. | Finding natural clusters | |
Tatu et al. | Visual quality metrics and human perception: an initial study on 2D projections of large multidimensional data | |
US8412730B2 (en) | Image search apparatus and method thereof | |
DE69432114T2 (de) | System zum Identifizieren und Verarbeiten von Formularen | |
Solli et al. | Color emotions for multi‐colored images | |
Moed et al. | International scientific co-operation and awareness within the European Community: problems and perspectives | |
US20030220916A1 (en) | Document information display system and method, and document search method | |
US6304260B1 (en) | Method and apparatus for generating and displaying views of hierarchically clustered data | |
CN110443805A (zh) | 一种基于像素密切度的语义分割方法 | |
CN110503054A (zh) | 文本图像的处理方法及装置 | |
CN110688888B (zh) | 一种基于深度学习的行人属性识别方法和系统 | |
Lonergan et al. | An iterative displacement method for conflict resolution in map generalization | |
EP1246124B1 (en) | Image space display method and apparatus | |
WO2021220342A1 (ja) | 物体認識装置、物体認識方法、学習装置、学習方法、及び、記録媒体 | |
CN110457706B (zh) | 兴趣点名称选择模型训练方法、使用方法、装置及存储介质 | |
CN112819918A (zh) | 可视化图表的智能生成方法及装置 | |
US20120078886A1 (en) | Biometric indexing and searching system | |
CN111126617B (zh) | 一种选择融合模型权重参数的方法、装置及设备 | |
Lovitt | The new pragmatism: Going beyond Shewhart and Deming | |
Lachaud et al. | Two plane-probing algorithms for the computation of the normal vector to a digital plane | |
CN112883523A (zh) | 汽车总线拓扑图展示方法、装置和设备 | |
US6629088B1 (en) | Method and apparatus for measuring the quality of descriptors and description schemes | |
Erlandson | System evaluation methodologies: Combined multidimensional scaling and ordering techniques | |
CN109165677A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230328 Address after: No. 9, Liangli Third Street, East District, Economic Development Zone, Tongzhou District, Beijing 101149 - 2059 Patentee after: ICSOC (BEIJING) COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: Room R1201, 12 / F, building a, Guanggu new development international center, 473 Guanshan Avenue, Donghu New Technology Development Zone, Wuhan, Hubei 430040 Patentee before: Zhongtong Zhixin (Wuhan) Technology Research and Development Co.,Ltd. |
|
TR01 | Transfer of patent right |