一种数据的查询统计方法及装置与流程

文档序号:13661570阅读:261来源:国知局
一种数据的查询统计方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种数据的查询统计方法及装置。



背景技术:

随着数据库技术的发展,数据库的应用越来越广泛,种类也越来越多。其中,hbase数据库是常用的数据库之一。hbase数据库是一种分布式的、面向列的开源数据库,其中,每一列数据为一条单独的信息,也即,可以包含一个或多个参数的参数值,比如,在存储视频信息时,列数据可以包括视频标题、发布时间、演员列表和视频播放量等参数。

用户在使用数据库的过程中,经常需要针对数据库中的某项参数进行查询统计。具体的处理过程为:用户编辑一个用于针对某参数进行查找统计的代码,通过运行该代码在数据库中进行查询统计,从而得到统计结果。例如,可以统计a演员所出演的全部影视作品的播放量,通过执行用户编写的代码,可以分别在每个列数据中,判断演员列表中是否包含该a演员,如果包含,则获取该列数据中的播放量,这样,遍历数据库中的全部列数据,可以统计出a演员所出演的全部影视作品的播放量。

基于现有技术的方案,用户每进行一次统计,都需要编写一次代码,导致统计数据的效率较低。



技术实现要素:

本发明实施例的目的在于提供一种数据的查询统计方法和装置,以实现提高统计数据的效率。具体技术方案如下:

第一方面,提供了一种数据的查询统计方法,所述方法包括:

接收用户输入的待查询参数和条件参数的参数值;

生成所述条件参数的参数值对应的查询条件;

根据所述查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值;

对输出待查询参数的参数值进行统计,输出统计结果。

第二方面,提供了一种数据的查询统计装置,所述装置包括:

接收模块,用于接收用户输入的待查询参数和条件参数的参数值;

生成模块,用于生成所述条件参数的参数值对应的查询条件;

输出模块,用于根据所述查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值;

统计模块,用于对输出待查询参数的参数值进行统计,输出统计结果。

本发明实施例提供的数据的查询统计方法及系统,可以接收用户输入的待查询参数和条件参数的参数值,生成条件参数的参数值对应的查询条件,根据查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值,对输出待查询参数的参数值进行统计,输出统计结果。基于本方案,在查询统计数据时,可以根据用户输入的待查询参数和条件参数的参数值,自动生成查询条件,无需用户编写代码,提高了统计数据的效率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上的所有优点。

附图说明

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

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

图2为本发明实施例提供的另一种数据的查询统计方法流程图;

图3为本发明实施例提供的另一种数据的查询统计方法流程图;

图4为本发明实施例提供的另一种数据的查询统计方法流程图;

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

图6为本发明实施例提供的一种数据的查询统计装置的结构示意图;

图7为本发明实施例提供的一种数据的查询统计装置的结构示意图;

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

具体实施方式

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

本发明实施例提供了一种数据的查询统计方法,该方法可以应用于具有数据查询统计功能的终端,比如pc(personalcomputer,个人计算机)端。如图1所示,该方法的处理过程可以如下:

步骤101,接收用户输入的条件参数的参数值和待查询参数。

在实施中,终端中可以安装用于进行数据查询和统计的应用程序,该终端可以与数据库建立连接,该数据库可以任意数据库,本实施例以该数据库为hbase数据库为例进行说明,其他情况与之类似。该hbase数据库是一种分布式的、面向列的开源数据库。另外,本方案中,数据库中的数据可以进行格式化的存储,例如,可以用protobuf格式保存hbase数据库中的数据。通过protobuf保存hbase中的数据,能够识别hbase数据库中每个列数据中的参数,进而根据参数对数据进行格式化的存储,从而实现指定参数以及任意嵌套层次的数据查找。

当用户需要进行数据的查询和统计时,用户可以在终端开启该应用程序,然后可以在该应用程序中选择需要查询的数据范围,例如,用户可以选择在整个数据库中进行查询,或者,可以选择针对数据库中的部分表进行查询,或者,还可以针对某时间范围内存储的数据进行查询。用户还可以在应用程序中输入待查询参数和条件参数的参数值。其中,条件参数是用于生成查询条件的参数。例如,用户需要统计a演员所出演的全部影视作品的播放量,则可以条件参数为演员姓名,参数值为a,待查询参数为播放量。终端接收到用户输入的条件参数的参数值和待查询参数后,可以对条件参数的参数值和待查询参数进行存储,以便进行后续处理。

步骤102,生成条件参数的参数值对应的查询条件。

在实施中,终端中可以预先存储查询条件生成算法,例如,该条件生成算法可以为多叉树生成算法。终端可以根据条件生成算法和用户输入的条件参数的参数值,生成查询条件。例如,可以生成用于,对于条件参数为多个的情况,条件参数在查询条件中的排列顺序可以任意的,本实施例不做限定、

步骤103,根据查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值。

在实施中,终端生成查询条件后,可以根据该查询条件,在用户选择的需要查询的数据范围内进行数据查找。具体的,对于该数据范围内的每一列数据,终端可以在该列数据中,获取各条件参数的参数值,然后将获取到的各条件参数的参数值,与查询条件中的条件参数的参数值进行对比,进而根据对比结果,判断该列数据是否满足查询条件,如果满足,则可以从该列数据中,获取待查询参数的参数值;如果不满足,则可以不进行后续处理。

步骤104,对输出待查询参数的参数值进行统计,输出统计结果。

在实施中,终端可以确定满足查询条件的列数据,然后获取这些列数据中的待查询参数的参数值,进而可以计算获取到的待查询参数的参数值的和,得到统计结果,然后可以输出统计结果。需要说明的是,对于待查询参数有多个的情况,终端可以分别计算获取到的每个待查询参数的参数值的和,从而得到每个待查询参数对应的统计结果。

例如,该数据库是用于存储视频信息的数据库,则参数项可以包括视频标题、视频类型、发布时间、导演、演员和视频播放量等;查询范围是全数据库查询;条件参数的参数值设置如下:视频类型为电视剧,发布时间为2016年-2017年,演员信息为a且b;待查询参数为播放量。终端可以根据条件参数生成条件树,通过该条件树对列数据进行判断,具体过程可以为:对于每个列数据,终端获取该列数据中的视频类型,如果视频类型为电视剧,则获取该列数据中的发布时间,否则结束;终端判断获取到的发布时间是否为2016或2017,如果是,获取该列数据中的演员信息,否则结束;终端判断获取到的演员信息中,是否包括a和b,如果包括,则获取并输出该列数据中的播放量,否则结束。

可选的,如图2所示,根据查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值的具体处理过程可以包括:

步骤1031,根据查询条件,分别对数据库中的每一列数据进行查询,得到满足查询条件的列数据。

在实施中,终端可以根据用户设置的数据范围,获取该数据范围内的列数据。对于获取的每一列数据,终端可以在该列数据中,获取各条件参数的参数值,然后将获取到的各条件参数的参数值,与查询条件中的条件参数的参数值进行对比,进而根据对比结果,判断该列数据是否为满足查询条件的列数据。其中,对于数据范围内的各列数据,该查询过程可以是并行的。

步骤1032,在满足查询条件的列数据中,分别获取待查询参数的参数值。

在实施中,终端确定满足查询条件的列数据后,可以分别在每个列数据中,获取待查询参数的参数值,该获取处理也以是并行的。

步骤1033,输出获取到的待查询参数的参数值。

在实施中,终端获取到待查询参数的参数值后,可以输出该参数值到预设的存储区域中,对该参数值进行存储,以便进行统计。

这样,提供了一种查询列数据的实现方式,通过该方式可以对列数据实现并行处理,提高了查询数据的效率。

可选的,条件参数的数目可以为多个,如图3所示,步骤102的处理过程可以如下:步骤102’,根据多个条件参数以及每个条件参数的参数值,生成条件树;步骤103的处理过程可以如下:步骤103’,根据生成的条件树,分别对数据库中的每一列数据进行查询。

在实施中,终端可以根据多个条件参数以及每个条件参数的参数值,生成条件树,该条件树可以为多叉树。该条件树可以支持多个条件组合、多种条件查询,比如与或非、嵌套与或非等。终端生成条件是后,可以通过遍历多叉树对列数据进行判断,从而输出待查询参数的参数值。例如,利用protobuf格式的数据特定和条件树,自动生成mapreduce,通过运行mapreduce扫描指定条件的数据,从而输出查找结果。

这样,可以设置多个条件参数,实现多层次、灵活性较大的数据查询。

可选的,如图4所示,在接收用户输入的待查询参数和条件参数的参数值之前,还可以包括:

步骤100,显示预设的参数选择界面,参数选择界面中显示有数据库包含的各参数项,以及各参数项对应的参数值设置选项。

在实施中,用户开启用于进行数据查询和统计的应用程序后,终端可以显示该应用程序的显示界面,该显示界面可以为参数选择界面,参数选择界面中可以显示有与该终端连接的数据库所包含的各参数项,以及各参数项对应的参数值设置选项。例如,该数据库是用于存储视频信息的数据库,则参数项可以包括视频标题、视频类型、发布时间、导演、演员和视频播放量等。用户可以在参数选择界面中选择条件参数,并设置每个条件参数的参数值,该参数值可以是具体的数值,也可以是一个数值范围。例如,可以设置视频类型为电视剧,发布时间为2010年-2017年,演员为a。用户还可以在该参数选择界面中,选择待查询参数,比如视频播放量。

这样,可以方便用户设置条件参数和待查询参数,提高了用户体验。

本发明实施例提供的数据的查询统计方法及系统,可以接收用户输入的待查询参数和条件参数的参数值,生成条件参数的参数值对应的查询条件,根据查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值,对输出待查询参数的参数值进行统计,输出统计结果。基于本方案,在查询统计数据时,可以根据用户输入的待查询参数和条件参数的参数值,自动生成查询条件,无需用户编写代码,提高了统计数据的效率。

基于相同的技术构思,本发明施例还提供了一种数据的查询统计装置,如图5所示,所述装置包括:

接收模块510,用于接收用户输入的待查询参数和条件参数的参数值;

生成模块520,用于生成所述条件参数的参数值对应的查询条件;

输出模块530,用于根据所述查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值;

统计模块540,用于对输出待查询参数的参数值进行统计,输出统计结果。

可选的,如图6所示,所述输出模块530,包括:

第一查询子模块531,用于根据所述查询条件,分别对所述数据库中的每一列数据进行查询,得到满足所述查询条件的列数据;

获取子模块532,用于在满足所述查询条件的列数据中,分别获取所述待查询参数的参数值;

输出子模块533,用于输出获取到的所述待查询参数的参数值。

可选的,所述条件参数的数目为多个,所述生成模块520,具体用于:

根据所述多个条件参数以及每个条件参数的参数值,生成条件树;

所述输出模块530,具体用于:

根据生成的条件树,分别对所述数据库中的每一列数据进行查询。

可选的,如图7所示,所述装置还包括:

显示模块550,用于显示预设的参数选择界面,所述参数选择界面中显示有所述数据库包含的各参数项,以及所述各参数项对应的参数值设置选项。

本发明实施例提供的数据的查询统计方法及系统,可以接收用户输入的待查询参数和条件参数的参数值,生成条件参数的参数值对应的查询条件,根据查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值,对输出待查询参数的参数值进行统计,输出统计结果。基于本方案,在查询统计数据时,可以根据用户输入的待查询参数和条件参数的参数值,自动生成查询条件,无需用户编写代码,提高了统计数据的效率。

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

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

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

接收用户输入的条件参数的参数值和待查询参数;

生成所述条件参数的参数值对应的查询条件;

根据所述查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值;

对输出待查询参数的参数值进行统计,输出统计结果。

可选的,所述根据所述查询条件,分别对所述数据库中的每一列数据进行查询,输出待查询参数的参数值,包括:

根据所述查询条件,分别对所述数据库中的每一列数据进行查询,得到满足所述查询条件的列数据;

在满足所述查询条件的列数据中,分别获取所述待查询参数的参数值;

输出获取到的所述待查询参数的参数值。

可选的,所述条件参数的数目为多个,所述生成所述条件参数的参数值对应的查询条件,包括:

根据所述多个条件参数以及每个条件参数的参数值,生成条件树;

所述根据所述查询条件,分别对所述数据库中的每一列数据进行查询,包括:

根据生成的条件树,分别对所述数据库中的每一列数据进行查询。

可选的,所述接收用户输入的条件参数的参数值和待查询参数之前,还包括:

显示预设的参数选择界面,所述参数选择界面中显示有所述数据库包含的各参数项,以及所述各参数项对应的参数值设置选项。

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

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

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

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

本发明实施例提供的数据的查询统计方法及系统,可以接收用户输入的待查询参数和条件参数的参数值,生成条件参数的参数值对应的查询条件,根据查询条件,分别对数据库中的每一列数据进行查询,输出待查询参数的参数值,对输出待查询参数的参数值进行统计,输出统计结果。基于本方案,在查询统计数据时,可以根据用户输入的待查询参数和条件参数的参数值,自动生成查询条件,无需用户编写代码,提高了统计数据的效率。

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

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

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

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