数据查询方法及装置与流程

文档序号:15982256发布日期:2018-11-17 00:28阅读:156来源:国知局

本发明涉及数据检索技术领域,特别是涉及一种数据查询方法及装置。

背景技术

随着网络科技的发展,现在的日志报表越来越多。以宣传产品为例产生日志报表的过程如下:

商家在网络上设置广告,宣传产品。用户点击、播放及购买广告产品分别产生日志报表,每一个日志报表包含多个维度,每个维度对应一组数据。例如:维度a对应年龄值;维度b对应城市名称;维度c对应职业名称。商家要求开发人员增加广告播放量,开发人员利用商家的要求,从日志报表中查询与符合商家要求增加广告播放量的维度,获得所需查询的各个维度对应的数据,然后根据日志报表中所需查询的各个维度对应的数据,对广告进行调整,以满足增加广告播放量的商家要求。

现有技术利用开源分布式分析工具kylin给日志报表中的每一个维度组合分别创建各自维度组合的表,这个表就称为cube,这个过程称为创建cube。例如:日志报表中包含三个维度,分别是a、b及c,则维度组合为:a、b、c、ab、ac、bc及abc,那么需要创建7个cube。开发人员通过遍历查询已创建的各个cube,找到cube中各个维度对应的数据,实现数据查询。由于现有技术为每个维度组合创建cube,导致查询数据过程需要遍历查询所有创建的cube,耗费的时间过长,导致查询效率不高。



技术实现要素:

本发明实施例的目的在于提供一种数据查询方法,通过遍历查询按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定得到的已创建cube,减少了查询cube的数量,提高查询效率。具体技术方案如下:

第一方面,本发明实施例提供了一种数据查询方法,包括:

获取待查询维度组合;

遍历已创建cube,从所述已创建cube中,查询与所述待查询维度组合相同的维度组合,获得查询结果;所述已创建cube是按照维度组合的查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,所述查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。

可选的,通过如下步骤确定所述已创建cube:

按照各个维度组合的查询频繁度,将预定时间内所有维度组合进行排序,得到排序后的维度组合;

从所述排序后的维度组合中,按照查询频繁度从最高到低的顺序的,选择前n个维度组合作为第一目标维度组合;

从所述排序后的维度组合中除所述第一目标维度组合以外的其余的维度组合中,按照查询频繁度从最高到低的顺序的,选择前m个维度组合;

将所述前m个的维度组合,分为k个局部簇;其中,n和m为正整数;n与m的和小于所有维度组合的个数;

针对每一个局部簇,将该局部簇中的各个维度组合进行合并,将合并后的各个局部簇的维度组合作为第二目标维度组合;

为所述第一目标维度组合创建第一cube;

为所述第二目标维度组合创建第二cube;

将所述第一cube和所述第二cube,确定为已创建cube。

可选的,所述将所述前m个的维度组合,分为k个局部簇包括:

使用kmeans聚类算法及kmeans聚类算法的预设k值,将所述前m个的维度组合进行聚类,分为k个局部簇。

可选的,所述查询频繁度是通过将预设时间内的各个查询时间段内,维度组合的查询次数与查询时间段对应的权重之积,进行相加获得的。

可选的,在获得查询结果之后,所述方法包括:

获取预设时间内各个已创建cube的查询次数;

判断是否存在查询次数未超过预定查询次数阈值的已创建cube;

如果存在,则从数据库中,删除查询次数未超过预定查询次数阈值的已创建cube。

可选的,在获得查询结果之后,所述方法包括:

获取各个已创建cube的占用存储总空间;

判断是否存在占用存储总空间是超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube;

如果存在,则从数据库中删除占用存储总空间超过所述预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube。

第二方面,本发明实施例提供了一种数据查询装置,包括:

获取模块,用于获取待查询维度组合;

查询模块,遍历已创建cube,从所述已创建cube中,查询与所述待查询维度组合相同的维度组合,获得查询结果;所述已创建cube是按照维度组合的查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,所述查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。

可选的,所述查询模块包括:

排序子模块,用于按照各个维度组合的查询频繁度,将预定时间内所有维度组合进行排序,得到排序后的维度组合;

第一目标子模块,用于从所述排序后的维度组合中,按照查询频繁度从最高到低的顺序的,选择前n个维度组合作为第一目标维度组合;

选择子模块,用于从所述排序后的维度组合中除所述第一目标维度组合以外的其余的维度组合中,按照查询频繁度从最高到低的顺序的,选择前m个维度组合;

分类子模块,用于将所述前m个的维度组合,分为k个局部簇;其中,n、m和k为正整数;n与m的和小于所有维度组合的个数;

第二目标子模块,用于针对每一个局部簇,将该局部簇中的各个维度组合进行合并,将合并后的各个局部簇的维度组合确定为第二目标维度组合;

第一创建子模块,用于为所述第一目标维度组合创建第一cube;

第二创建子模块,用于为所述第二目标维度组合创建第二cube;

确定子模块,用于将所述第一cube和所述第二cube,确定为已创建cube。

可选的,所述分类子模块具体用于:

使用kmeans聚类算法及kmeans聚类算法的预设k值,将所述前m个的维度组合进行聚类,分为k个局部簇。

可选的,所述查询频繁度是通过将预设时间内的各个查询时间段内,维度组合的查询次数与查询时间段对应的权重之积,进行相加获得的。

可选的,在数据查询装置还包括:

次数获取子模块,用于获取预设时间内各个已创建cube的查询次数;

第一判断子模块,用于判断是否存在查询次数未超过预定查询次数阈值的已创建cube;

第一删除子模块,用于如果存在,则从数据库中,删除查询次数未超过预定查询次数阈值的已创建cube。

可选的,所述数据查询装置还包括:

存储获取子模块,用于获取各个已创建cube的占用存储总空间;

第二判断子模块,用于判断是否存在占用存储总空间是超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube;

第二删除子模块,用于如果存在,则从数据库中删除占用存储总空间超过所述预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube。

在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述一种数据查询方法。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据查询方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据查询方法。

本发明实施例提供的一种数据查询方法及装置,通过遍历已创建cube,从已创建cube中,查询与待查询维度组合相同的维度组合,获得查询结果;已创建cube是按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。本实施例通过遍历查询按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定得到的已创建cube,减少了查询已创建cube的数量,因此减少查询维度对应的数据的时间,提高数据查询效率。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种数据查询方法的第一流程图;

图2为本发明实施例确定已创建cube的流程图;

图3为本发明实施例数据查询方法的第二流程图;

图4为本发明实施例数据查询方法的第三流程图;

图5为本发明实施例提供的一种数据查询装置的结构图;

图6为本发明实施例提供的一种电子设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

现有技术查询数据过程中需要遍历已创建cube的维度组合,直至找到需要查询的维度组合对应的数据,如果已创建cube越多,那么找到需要查询的维度组合对应的数据就会越长,查询数据效率会降低。因此,针对现有技术查询数据效率较低的问题,本发明实施例提供了一种数据查询方法及装置,通过遍历已创建cube,从已创建cube中,查询与待查询维度组合相同的维度组合,获得查询结果;已创建cube是按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。本实施例通过遍历查询按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定得到的已创建cube,减少了查询已创建cube的数量,因此减少查询维度对应的数据的时间,提高数据查询效率。

下面首先对本发明实施例提供的一种数据查询方法作简单介绍。

本发明实施例提供的一种数据查询方法,应用于电子设备,进一步电子设备可以为手机、电脑、服务器、智能移动终端设备、可穿戴式智能移动终端设备等。在此不做限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。

如图1所示,本发明实施例提供了一种数据查询方法,包括:

s101,获取待查询维度组合;

其中,获取的待查询维度组合可以从根据开发人员自身的需求产生查询请求中获得。预先定义各个维度,每个维度对应一组数据。例如:预先定义维度a及维度b分别是城市及职业,维度a及维度b对应的数据分别是城市名称和职业名称。维度a及维度b的组合是维度组合ab,则,维度组合ab是城市及职业;维度组合ab对应的数据是城市名称和职业名称。开发人员需要城市及职业这两个维度的数据,只需查询维度组合ab,则维度组合ab对应城市名称和职业名称就可以得到。

s102,遍历已创建cube,从已创建cube中,查询与待查询维度组合相同的维度组合,获得查询结果;已创建cube是按照维度组合的查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。

其中,查询频繁度可以通过将预设时间内的各个查询时间段内,维度组合的查询次数相加获得。可选的,查询频繁度还可以是通过将预设时间内的各个查询时间段内,维度组合的查询次数与查询时间段对应的权重之积,进行相加获得的。数据随着时间推移重要性会逐渐降低,通过给查询时间段设置对应的权重,可以有针对性的给重要性不同的数据设置权重,提高查询频繁度的准确性。

预设时间是开发人员根据行业经验设定的数值,也可以根据实际查询需求修改。各个查询时间段对应的权重是预先设定的数值,或者可以根据时间的推移设置查询时间段对应的权重。

预设时间可以分为预设个查询时间段,假设预设时间为一个月,将一个月分为4个查询时间段。4个查询时间段分别是第一周、第二周、第三周、第四周。例如:一个月内维度组合ab在第一周查询次数是100次,第二周查询次数是200次,第三周查询次数是300次,第四周查询次数是400次。维度组合ab第一周到第四周对应的权重分别为w1=0.4,w2=0.3,w3=0.2,w4=0.1。维度组合ab的查询频繁度wab=100*0.4+100*0.3+100*0.2+500*0.1=140。

查询时间段对应的权重还可以设定按照时间的推移降低,例如:第一周对应的权重为0.4,时间每次增加一周,查询时间段对应的权重,在上一周的查询时间段对应的权重上减少0.1。按照设定按照时间的推移降低查询时间段对应的权重,可以节省设置不同查询时间段权重的时间,提高计算查询频繁的效率。

本实施例中,按照维度组合的查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定已创建cube。例如:维度组合a,ab,ac和b的查询频繁度分别是20、45、30、25。假设预设数量为2,维度组合的查询频繁度从最高到低的顺序为:45、30、25、20,选择维度组合ab及ac,为维度组合ab及ac创建cube,将创建后的cube确定为已创建cube。

本发明实施例通过遍历查询按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定得到的已创建cube,减少了查询已创建cube的数量,因此减少查询维度组合对应的数据的时间,提高数据查询效率。

其中,已创建cube可以通过如下步骤确定:

s201,按照各个维度组合的查询频繁度,将预定时间内所有维度组合进行排序,得到排序后的维度组合;

本实施中将各个维度组合进行排序的方法可以是topn算法排序、冒泡算法或者任何可以进行排序的方法是都可以应用于本实施例中。

本实施例中可以按照topn算法,将所有维度组合按照各个维度组合的查询频繁度从大到小的顺序进行排序,例如:维度组合ab、a、bc、ac的查询频繁度是10、50、20、70,将维度组合按照的查询频繁度从大到小排序为:ac、a、bc、ab。按照各个维度组合的查询频繁度从大到小的顺序对所有维度组合进行排序,在选择第一目标维度组合时不用一一查找各个维度组合的查询频繁度,可以为后续从排序后的维度组合中,选择前预设数量个第一目标维度组合节省时间。

本实施例中可以按照冒泡算法,将各个维度组合的查询频繁度进行比较,将所有维度组合,按照各个维度组合查询频繁度从小到大的顺序进行排序。例如:维度组合ab、a、bc、ac的查询频繁度是10、50、20、70,将维度组合ab与a的查询频繁度比较大小,选出查询频繁度较小的ab,然后将ab的查询频繁度与bc、ac的查询频繁度比较,直至确定出最小查询频繁度的维度组合ab,以此方式将所有维度组合ab、a、bc、ac,按照各个维度组合查询频繁度从小到大的顺序进行排序为:ab、bc、a、ac。按照各个维度组合的查询频繁度从小到大的顺序,对所有目标维度组合进行排序可以快速剔除查询频繁度较小的维度组合,为后续从排序后的维度组合中,选择后预设数量个第一目标维度组合节省时间。

s202,从排序后的维度组合中,按照查询频繁度从最高到低的顺序的,选择前n个维度组合作为第一目标维度组合;

s203,从排序后的维度组合中除第一目标维度组合以外的其余的维度组合中,按照查询频繁度从最高到低的顺序的,选择前m个维度组合;

s204,将前m个的维度组合,分为k个局部簇;其中,n和m为正整数;n与m的和小于所有维度组合的个数;n与k的和等于已创建cube的个数;

本实施例中可以使用kmeans聚类算法、均值漂移聚类、基于密度的聚类方法、用高斯混合模型(gmm,gaussianmixedmodel)的最大期望(em,expectationmaximizationalgorithm)聚类、凝聚层次聚类、图团体检测方法将维度组合进行聚类,或者使用任何可以进行聚类的方法是都可以应用于本实施例中。可选的,使用kmeans聚类算法及kmeans聚类算法的预设k值,将前m个的维度组合进行聚类,分为k个局部簇。

例如:维度组合分别是:a、ab、ac、b、c、bc、abc、d、dc、ad,假设n为3,维度组合的查询频繁度从最高到低的顺序为:124、108、96、45、30、25、20、18、10、5,选择维度组合a,ab及ac作为第一目标维度组合。假设m为4,选择在除维度组合a,ab及ac以外的维度组合b、c、bc、abc、d、dc、ad中,按照维度组合的查询频繁度从最高到低的顺序,选择维度组合b、c、bc、abc。假设k为2,使用kmeans聚类算法将维度组合b、c、bc、abc分为2个局部簇。

本实施例使用聚类算法将前m个的维度组合,分为k个局部簇可以快速的得到第一目标维度组合,为后续获得已创建cube节省时间。

s205,针对每一个局部簇,将该局部簇中的各个维度组合进行合并,将合并后的各个局部簇的维度组合作为第二目标维度组合;

本实施例中针对每一个局部簇,将该局部簇中的各个维度组合进行合并,合并后的维度组合会包含合并前各个维度组合对应的数据。

例如,维度组合b、c、bc、abc分为2个局部簇。如果局部簇1中包含:维度组合bc及c,局部簇2中包含维度组合b、abc;则将局部簇1中的维度组合c和bc进行合并,合并为维度组合bc,合并后的维度组合bc包含合并前维度组合c对应的数据及合并前维度组合bc对应的数据,将局部簇2中的维度组合b和abc进行合并,合并为维度组合abc;合并后的维度组合abc包含合并前维度组合b对应的数据及合并前维度组合abc对应的数据,将合并后的维度组合abc及bc作为第二目标维度组合。

如果,局部簇1中包含:维度组合abc、c、bc,局部簇2中包含维度组合b,则将局部簇1中的维度组合abc、c、bc进行合并,合并为维度组合abc,合并后的维度组合abc包含合并前维度组合abc对应的数据、合并前维度组合bc对应的数据及合并前维度组合c对应的数据,将合并后的维度组合abc及b作为第二目标维度组合。

如果,局部簇1中包含:维度组合abc、bc、b,局部簇2中包含维度组合c,则将局部簇1中的维度组合abc、bc、b进行合并,合并为abc,合并后的维度组合abc包含合并前维度组合abc对应的数据、合并前维度组合bc对应的数据及合并前维度组合c对应的数据,将合并后的维度组合abc及c作为第二目标维度组合。

s206,为第一目标维度组合创建第一cube;

本发明实施例中,将维度组合a,ab及ac作为第一目标维度组合,则为第一目标维度组合a,ab及ac各自创建第一cube。

s207,为第二目标维度组合创建第二cube;

本发明实施例中,假设将维度组合abc及c作为第二目标维度组合,则为第二目标维度组合abc及c各自创建第二cube。

s208,将第一cube和第二cube,确定为已创建cube。

本发明实施例通过对所有维度组合进行排序,按照查询频繁度从最高到低的顺序,剔除了查询频繁度不符合的维度组合,选择第一目标维度组合。然后在排序后的维度组合中,查询频繁度从最高到低的顺序选择除维度组合在局部簇中聚类合并,将各个局部簇中合并后的维度组合作为第二目标维度组合,第一目标维度组合和第二目标维度组合的数量小于所有维度组合的个数,然后分别为第一目标维度组合及第二目标维度组合创建第一cube及第二cube,确定为已创建cube。

通过本发明实施例减少了已创建cube的数量,为后续可以减少查询已创建cube的数量,减少查询维度组合对应的数据的时间,提高数据查询效率。

在图1所示一种数据查询方法的基础上,本发明实施例一种可选的实施例中,已创建cube还可以通过如下步骤确定:

步骤一:将已获取到的预定时间内所有维度组合,按照维度组合的查询频繁度进行排序;

步骤二:在查询频繁度排序后的维度组合中,将查询频繁度大于第一预设查询频繁度的各个维度组合,确定为第一目标维度组合;

本实施例可以是topn算法排序、冒泡算法排序,在查询频繁度排序后的维度组合中,选择第n个维度组合的查询频繁度作为第一预设查询频繁度。本实施例可以根据行业经验设定第一预设查询频繁度,选择查询频繁度大于第一预设查询频繁度的维度组合确定为第一目标维度组合。

步骤三:将查询频繁度小于第一预设查询频繁度且大于第二预设查询频繁度的各个维度组合,分为k个局部簇;

步骤四:针对每一个局部簇,将该局部簇中的各个维度组合进行合并,将合并后的各个局部簇的维度组合作为第二目标维度组合;

本实施例在查询频繁度排序后的维度组合中,选择第m个维度组合的查询频繁度作为第二预设查询频繁度。本实施例可以根据行业经验设定第二预设查询频繁度,选择查询频繁度小于第一预设查询频繁度且大于第二预设查询频繁度的维度组合确定为第二目标维度组合。

步骤五:为第一维度组合创建第一cube;

步骤六:为第二目标维度组合创建第二cube;

步骤七:将第一cube和第二cube作为已创建cube。

本实施例通过预先设置第一预设查询频繁度和第二预设查询频繁度,选择出第一目标维度组合和第二目标维度组合,为第一目标维度组合和第二目标维度组合分别创建第一cube及第二cube,将第一cube及第二cube作为已创建cube。通过本发明实施例减少了已创建cube的数量,为后续可以减少查询已创建cube的数量,减少查询维度组合对应的数据的时间,提高数据查询效率。

结合图1的实施例,为了更好的节省查询数据所需的时间,如图3所示,在s102之后,本发明实施例提供的一种可选的实现方式,包括:

s301:获取预设时间内各个已创建cube的查询次数;

本实施例中可以定期获取预设时间内各个已创建cube的查询次数,也可以获取实时获取已创建cube中维度组合的查询次数,将预设时间内维度组合的查询次数累加和作为已创建cube的查询次数。

s302:判断是否存在查询次数未超过预定查询次数阈值的已创建cube;

其中,预定查询次数阈值可以根据行业经验设置。

s303:如果存在,则从数据库中,删除查询次数未超过预定查询次数阈值的已创建cube。

本实施例中,已创建cube可以预先划定存储位置,然后存储在数据库中,还可以根据已创建cube创建时间前后顺序,存储在数据库中。

如果获取到预设时间内一个已创建cube的查询次数少于预定查询次数阈值,通过本实施例将从数据库中删除查询次数少于预定查询次数阈值已创建cube,减少数据库的已创建cube占用空间,减少了已创建cube的数量,维护数据库,因此,减少查询维度组合对应的数据的时间,节省查询数据所需的时间,提高数据查询效率。

结合图1的实施例,为了减少数据库中已创建cube的占用空间,更好的提高数据查询效率,如图4所示,在s102之后,本发明实施例提供的一种可选的实现方式,包括:

s401:获取各个已创建cube的占用存储总空间;

s402:判断是否存在占用存储总空间是超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube;

其中,预定存储阈值可以根据行业经验设置,第三预设查询频繁度可以根据行业经验设置。

s403:如果存在,则从数据库中删除占用存储总空间超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube。

本实施例中,已创建cube可以预先划定存储位置,然后存储在数据库中,还可以根据已创建cube创建时间前后顺序,存储在数据库中。

如果获取到预设时间内一个已创建cube的占用存储总空间超过预定存储阈值,通过本实施例将从数据库中删除占用存储总空间超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube。减少数据库的已创建cube占用空间,减少了已创建cube的数量,维护数据库,因此,减少查询维度组合对应的数据的时间,提高数据查询效率。

下面继续对本发明实施例提供的一种数据查询装置作简单介绍。

如图5所示,本发明实施例提供了一种数据查询装置,包括:

获取模块501,用于获取待查询维度组合;

查询模块502,遍历已创建cube,从已创建cube中,查询与待查询维度组合相同的维度组合,获得查询结果;已创建cube是按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。

其中,查询频繁度是通过将预设时间内的各个查询时间段内,维度组合的查询次数与查询时间段对应的权重之积,进行相加获得的。

可选的,查询模块包括:

排序子模块,用于按照预设排序规则,将预定时间内,所有维度组合的查询频繁度进行排序,得到排序后的维度组合;

第一目标子模块,用于从排序后的维度组合中,按照查询频繁度从最高到低的顺序的,选择前n个维度组合作为第一目标维度组合;

选择子模块,用于从排序后的维度组合中除第一目标维度组合以外的其余的维度组合中,按照查询频繁度从最高到低的顺序的,选择前m个维度组合;

分类子模块,用于将前m个的维度组合,分为k个局部簇;其中,n和m为正整数;n与m的和小于所有维度组合的个数;

第二目标子模块,用于针对每一个局部簇,将该局部簇中的各个维度组合进行合并,将合并后的各个局部簇的维度组合确定为第二目标维度组合;

第一创建子模块,用于为第一目标维度组合创建第一cube;

第二创建子模块,用于为第二目标维度组合创建第二cube;

确定子模块,用于将第一cube和第二cube,确定为已创建cube。

可选的,分类子模块具体用于:

使用kmeans聚类算法及kmeans聚类算法的预设k值,将前m个的维度组合进行聚类,分为k个局部簇。

可选的,本发明实施例提供的一种数据查询装置还包括:

次数获取子模块,用于获取预设时间内各个已创建cube的查询次数;

第一判断子模块,用于判断是否存在查询次数未超过预定查询次数阈值的已创建cube;

第一删除子模块,用于如果存在,则从数据库中,删除查询次数未超过预定查询次数阈值的已创建cube。

可选的,本发明实施例提供的一种数据查询装置还包括:

存储获取子模块,用于获取各个已创建cube的占用存储总空间;

第二判断子模块,用于判断是否存在占用存储总空间是超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube;

第二删除子模块,用于如果存在,则从数据库中删除占用存储总空间超过预定存储阈值,并且,查询频繁度小于第三预设查询频繁度的已创建cube。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

获取待查询维度组合;

遍历已创建cube,从已创建cube中,查询与待查询维度组合相同的维度组合,获得查询结果;已创建cube是按照查询频繁度从最高到低的顺序,选取预设数量个目标维度组合确定的,查询结果包括:与待查询维度组合相同的维度组合及与待查询维度组合相同的维度组合对应的数据。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种数据查询方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种数据查询方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1