一种数据查询方法、装置、服务器及存储介质与流程

文档序号:16330872发布日期:2018-12-19 06:11阅读:164来源:国知局
一种数据查询方法、装置、服务器及存储介质与流程

本发明涉及信息处理技术领域,尤其涉及一种数据查询方法、装置、服务器及存储介质。

背景技术

随着互联网通信技术的日新月异,互联网在人们日常的学习、工作和生活中得到广泛的应用。人们日常的各种事务都可以通过网络来呈现。因此,互联网中每天都在产生着海量的数据。

目前,互联网业务系统产生的大量数据,往往通过一个数据库进行存储管理,以便后续需要该数据时可以从数据库中查询获取。其中,hbase作为一个通用的数据存储处理框架得到了广泛的应用,hbase是一个分布式的、面向列的开源数据库,hbase中的数据是分区管理的,不同分区需要不同的分区服务器管理,当用户需要查询数据时,需要先从数据索引表确定哪个分区包含该数据;然后,确定管理该分区的分区服务器的地址;最后,基于该地址连接该分区服务器,查到该数据。上述从数据索引表确定哪个分区包含该数据过程中由于数据索引表中记录的数据信息太多,往往需要对数据索引表中的数据再进行分区,相应的,每个分区会有相应的分区管理器。故还需要确定管理该数据所对应的数据索引表分区的分区管理器,导致现有的基于hbase的数据查询过程复杂,严重影响查询速度,且占用大量存储空间。因此,需要提供更高效或更快速的方案。



技术实现要素:

本发明提供了一种数据查询方法、装置、服务器及存储介质,可以有效提高数据查询速度,节省存储资源。

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

接收数据查询请求;

确定所述数据查询请求所请求的业务数据的数据类型,所述数据类型包括冷数据和/或热数据;

基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据;

其中,所述冷数据所对应的索引数据包括布隆索引,所述热数据所对应的索引数据包括二分索引。

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

数据查询请求接收模块,用于接收数据查询请求;

数据类型确定模块,用于确定所述数据查询请求所请求的业务数据的数据类型,所述数据类型包括冷数据和/或热数据;

查询数据获取模块,用于基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据;

其中,所述冷数据所对应的索引数据包括布隆索引,所述热数据所对应的索引数据包括二分索引。

第三方面提供了一种数据查询服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的数据查询方法。

第四方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的数据查询方法。

本发明提供的数据查询方法、装置、服务器及存储介质,具有如下技术效果:

本发明能够通过区分需要查询的数据的数据类型,可以采用不同的索引数据从相应的存储区域获取需要查询的数据;且通过布隆索引作为大量冷数据的索引数据,可以在提高数据查询速度的同时,降低索引文件的大小,节省了存储资源;对常常需要查询的热数据采用二分索引作为索引数据,可以更好的提高数据查询速度。

附图说明

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

图1是本发明实施例提供的一种应用环境的示意图;

图2是本发明实施例提供的一种数据查询方法的流程示意图;

图3是本发明实施例提供的一种数据查询界面的示例图;

图4是本发明提供的确定所述数据查询请求所请求的业务数据的数据类型的一种实施例的流程示意图;

图5是本发明提供的确定所述数据查询请求所请求的业务数据的数据类型的另一种实施例的流程示意图;

图6是本发明提供的确定所述数据查询请求所请求的业务数据的数据类型的另一种实施例的流程示意图;

图7是本发明实施例提供的另一种数据查询界面的示例图;

图8是本发明实施例提供的一种数据查询装置的结构示意图;

图9是本发明实施例提供的另一种数据查询装置的结构示意图;

图10是本发明实施例提供的另一种数据查询装置的结构示意图;

图11是本发明实施例提供的一种服务器的结构示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括服务器100和客户端200。

本说明书实施例中,所述服务器100可以用于收集业务系统各业务模块的业务数据,将收集的业务数据存储到存储模块101,在将业务数据存储到存储模块101时,可以建立业务数据的第一索引数据;并可以将该第一索引数据存储到所述存储模块101。

进一步的,为了提高查询速度,本说明书实施例中,还可以将部分业务数据同步存储到固态硬盘102,相应的,在将部分业务数据同步存储到固态硬盘102时,可以建立该部分业务数据的第二索引数据,并可以将还第二索引数据存储到固态硬盘102。

本说明书实施例中,所述存储模块101和固态硬盘102可以位于所述服务器100中,也可以位于其他服务器100可以访问的设备上。

在实际应用中,用户对业务系统中最近一段时间的业务数据的查询需求往往高于时间久远的业务数据的查询需求,本说明书实施例中,存储到固态硬盘的部分业务数据可以包括最近一段时间的业务数据,本说明书实施例中,最近一段时间的业务数据可以为热数据,相应的,服务器100收集的业务数据中除热数据以外的数据可以为冷数据。

此外,需要说明的是,为了控制存储成本,本说明书实施例中存储有冷数据的存储模块101可以包括成本较低的机械硬盘(hdd传统硬盘)。

上述在将业务数据进行存储过程中,将冷热数据存储到不同的存储区域,并建立了冷热数据的索引数据,后续可以根据不同的索引数据从相应的存储区域获取需要查询的数据,且将热数据存储到固态硬盘,可以大大提升数据查询的速度。

具体的,所述服务器100可以包括一个具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供支持的软体。

本说明书实施例中,所述客户端200可以用于向用户提供数据查询界面,响应于用户在该数据查询界面的数据查询触发指令,向服务器100发送数据查询请求;服务器100可以用于根据客户端200发送的数据查询请求所请求的数据所对应的数据类型(所述数据类型可以包括冷数据和/或热数据)确定相应的索引数据,并基于该索引数据从相应的存储区域获取该数据查询请求的业务数据;服务器100还可以用于将获取的业务数据发送给客户端200,以便客户端200将业务数据展示给用户。

具体的,所述客户端200可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如虚拟机等。本发明实施例中客户端上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等。

进一步的,本说明书实施例中业务数据的第一索引数据可以结合业务数据的数据操作需求确定,在一个具体的实施例中,以所述业务数据是流水数据为例,流水数据一般不需要修改和删除,只有插入操作。相应的,本说明书实施例中所述第一索引数据可以包括但不限于布隆索引,布隆索引可以包括:索引文件和数据文件。具体的,所述索引文件的可以用于记录布隆过滤器的信息。所述数据文件可以用于记录存在的数据在源文件中存储信息(例如,数据存储位置,数据大小等)。

以下介绍布隆索引的建立的具体实施例。

本说明书实施例中,假设布隆过滤器有k层,首先根据每一层的hash(哈希)函数计算出业务数据key(这里key可以包括业务数据中的某一特征数据,例如业务数据包括输入日期,生日,班级,姓名。相应的,key可以为输入日期,生日,班级,姓名中的任一业务数据中的特征数据)的hash值,然后,再把每一层对应的标志位置1;最后,把业务数据在源文件的存储信息写入到数据文件中,并记录标志位到索引文件中。

在实际应用中,流水数据往往存在数据量大的问题,上述为流水数据建立布隆索引可以在大大提高了数据查询速度的同时,还降低了索引文件的大小,节省了存储资源。

进一步的,本说明书实施例中,热数据存储在固态硬盘中,二分索引对于随机读写的固态硬盘查询速度非常快。因此,本说明书实施例中,所述第二索引数据可以包括但不限于二分索引。二分索引包括按照索引值排序好的信息。

以下介绍二分索引建立的具体实施例中:

读取业务数据的源文件,获取到业务数据的key(这里key可以包括业务数据中的某一特征数据,例如业务数据包括输入日期,生日,班级,姓名。相应的,key可以为输入日期,生日,班级,姓名中的任一业务数据中的特征数据)和存储信息;将该key和存储信息存储到一个映射表中;然后,这个映射表按照key排序,得到该业务数据的二分索引。

以下介绍本发明提供的数据查询方法的实施例,图2是本发明实施例提供的一种数据查询方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:

s201:接收数据查询请求。

本说明书实施例中,数据查询系统的客户端侧可以提供数据查询界面以供用户触发数据查询请求。具体的,如图3所示,图3是本发明实施例提供的一种数据查询界面的示例图。从图3中可见,用户可以输入需要查询的数据内容以及查询的时间段。在一个具体的实施例中,假设用户需要查询业务a从2018年5月20日16:00:00至2018年5月20日19:00:00的流水数据。相应的,可以在查询数据内容处输入业务a流水数据,查询时间段输入2018年5月20日16:00:00至2018年5月20日19:00:00,然后,点击查询按钮以触发数据查询请求。

此外,需要说明的是,上述查询时间段可以包括如上述的一段时间(2018年5月20日16:00:00至2018年5月20日19:00:00),也可以包括一个时间点,如2018年5月20日16:00:00至2018年5月20日16:00:00。

s203:确定所述数据查询请求所请求的业务数据的数据类型,所述数据类型包括冷数据和/或热数据。

本说明书实施例中,在接收到数据查询请求之后,可以确定所述数据查询请求所请求的业务数据的数据类型,如图4所示,图4是本发明提供的确定所述数据查询请求所请求的业务数据的数据类型的一种实施例的流程示意图,具体的,可以包括:

s401:获取所述数据查询请求所请求的业务数据所对应的时间段。

s403:判断所述所对应的时间段中是否包括预设最近时间段中的时间段。

本说明书实施例中,所述预设最近时间段可以包括当前时间往前的预设时间段。例如当前时间往前一周。

s405:当判断的结果为否时,确定所述数据查询请求所请求的业务数据的数据类型为冷数据。

在一个具体的实施例中,假设数据查询请求所请求的业务数据所对应的时间段为:2018年5月20日16:00:00至2018年5月20日19:00:00,预设最近时间段为:当前时间往前一个星期,且当前时间为:2018年6月21日12:00:00;相应的,该预设最近时间段可以为时间段:2018年6月14日12:00:00至2018年6月21日12:00:00。相应的,数据查询请求所请求的业务数据所对应的时间段2018年5月20日16:00:00至2018年5月20日19:00:00中不包括预设最近时间段2018年6月14日12:00:00至2018年6月21日12:00:00中的时间段,相应的,可以确定该确定所述数据查询请求所请求的业务数据的数据类型为冷数据。

在另一些实施例中,如图5所示,所述方法还可以包括:

s407:当判断的结果为是时,判断所述所对应的时间段中是否包括所述预设最近时间段中的时间段以外的时间段。

s409:当判断出所述所对应的时间段中不包括所述预设最近时间段中的时间段以外的时间段时,确定所述数据查询请求所请求的业务数据的数据类型为热数据。

具体的实施例中,假设数据查询请求所请求的业务数据所对应的时间段为:2018年6月20日16:00:00至2018年6月20日19:00:00,预设最近时间段为:当前时间往前一个星期,且当前时间为:2018年6月21日12:00:00;相应的,该预设最近时间段可以为时间段:2018年6月14日12:00:00至2018年6月21日12:00:00。相应的,数据查询请求所请求的业务数据所对应的时间段2018年6月20日16:00:00至2018年6月20日19:00:00中包括预设最近时间段2018年6月14日12:00:00至2018年6月21日12:00:00中的时间段,相应的,可以判断所述所对应的时间段(2018年6月20日16:00:00至2018年6月20日19:00:00)中是否包括所述预设最近时间段(2018年6月14日12:00:00至2018年6月21日12:00:00)中的时间段以外的时间段,相应的,这里2018年6月20日16:00:00至2018年6月20日19:00:00中不包括2018年6月14日12:00:00至2018年6月21日12:00:00中的时间段以外的时间段;相应的,可以确定数据查询请求所请求的业务数据的数据类型为热数据。

在另一些实施例中,如图6所示,所述方法还可以包括:

s411:当判断出所述所对应的时间段中包括所述预设最近时间段中的时间段以外的时间段时,确定所述数据查询请求所请求的业务数据的数据类型包括冷数据和热数据;

其中,所述以外的时间段所对应的所述所请求的业务数据的数据类型为冷数据,所述所对应的时间段中包括的预设最近时间段中的时间段所对应的所述所请求的业务数据的数据类型为热数据。

具体的实施例中,假设数据查询请求所请求的业务数据所对应的时间段为:2018年5月20日16:00:00至2018年6月20日19:00:00,预设最近时间段为:当前时间往前一个星期,且当前时间为:2018年6月21日12:00:00;相应的,该预设最近时间段可以为时间段:2018年6月14日12:00:00至2018年6月21日12:00:00。相应的,数据查询请求所请求的业务数据所对应的时间段2018年5月20日16:00:00至2018年6月20日19:00:00中包括预设最近时间段2018年6月14日12:00:00至2018年6月21日12:00:00中的时间段,相应的,可以判断所述所对应的时间段(2018年6月20日16:00:00至2018年6月20日19:00:00)中是否包括所述预设最近时间段(2018年6月14日12:00:00至2018年6月21日12:00:00)中的时间段以外的时间段,相应的,这里2018年5月20日16:00:00至2018年6月20日19:00:00中包括2018年6月14日12:00:00至2018年6月21日12:00:00中的时间段以外的时间段(2018年5月20日16:00:00至2018年6月14日12:00:00);相应的,可以确定数据查询请求所请求的业务数据的数据类型包括冷数据和热数据,其中,所述以外的时间段(2018年5月20日16:00:00至2018年6月14日12:00:00)所对应的所请求的业务数据的数据类型为冷数据;所述所对应的时间段中包括的预设最近时间段中的时间段(2018年6月14日12:00:00至2018年6月20日19:00:00)所对应的所述所请求的业务数据的数据类型为热数据。

s205:基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据。

其中,所述冷数据所对应的索引数据包括布隆索引,所述热数据所对应的索引数据包括二分索引。

本说明书实施例中,不同数据类型的业务数据存储在不同的存储区域,且设置有不同的索引数据。在确定所请求的业务数据的数据类型之后,可以基于数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求的业务数据。

在一个具体的实施例中,以第一索引数据为布隆索引为例,当所述数据查询请求所请求的数据所对应的数据类型包括冷数据时,所述基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据可以包括:

基于所述布隆索引从预设硬盘获取所述数据查询请求所请求的业务数据。

本说明书实施例中,所述预设硬盘可以包括存储有冷数据的存储模块。

具体的,以下介绍基于布隆索引从业务数据的存储区域获取所述数据查询请求所请求的业务数据的具体步骤:

根据布隆过滤器每一层的hash函数计算出业务数据的key的hash值,根据每一层的hash值查看对应的标志位是不是都为1,如果k层(假设布隆过滤器有k层)都为1,可确定业务数据存在;然后,从数据文件查找出业务数据在源文件中存储信息;最后,基于存储信息相应的存储区域的源文件获取业务数据。

另外,如果k层中有不为1的标志位,那么认为数据不存在,可以返回查询失败的信息。

在另一个具体的实施例中,以第二索引数据为二分索引为例,当所述数据查询请求所请求的数据所对应的数据类型包括热数据时,所述基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据包括:

基于所述二分索引从所述固态硬盘获取所述数据查询请求所请求的业务数据。

具体的,以下介绍基于二分索引从所述固态硬盘获取所述数据查询请求所请求的业务数据的具体步骤:

二分索引中都是按照业务数据的key排序好的映射表,因此,可以以key做二分查找,找到对应的存储信息,并给予存储信息从固态硬盘中的源文件中找到key所对应的业务数据。

在另一个具体的实施例中,以第一索引数据为布隆索引,第二索引数据为二分索引为例,当所述数据查询请求所请求的数据所对应的数据类型包括热数据和冷数据时,所述基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据可以包括:

基于所述布隆索引从预设硬盘获取所述数据查询请求所请求的业务数据中冷数据。

基于所述二分索引从所述固态硬盘获取所述数据查询请求所请求的业务数据中的热数据。

在另一实施例中,所述方法还可以包括:

获取业务数据,将所述业务数据存储到预设硬盘;

建立所述业务数据的布隆索引,将所述布隆索引存储到所述预设硬盘。

在另一实施例中,所述方法还可以包括:

将所述业务数据中热数据存储到固态硬盘;

建立所述热数据的二分索引,将所述二分索引存储到所述固态硬盘。

由以上本说明书实施例提供的技术方案可见,本说明书实施例中通过为大量的冷数据建立布隆索引以供后续查询索引,可以在大大提高了数据查询速度的同时,降低索引文件的大小,节省了存储资源。另外,将常常需要查询的热数据存储在固态硬盘中,且采用二分索引作为热数据的索引数据,充分利用二分索引对于随机读写的固态硬盘查询速度快的优势,可以更好的提高数据查询速度;且将冷热数据结合实际需求存储到不同的存储区域,可以有效的控制成本。

以下结合图7,介绍本说明书实施例提供的数据查询界面的另一示例:

本说明书实施例中对冷热数据采用不同的索引数据,且存储到不同的存储区域,对于热数据通过存储到固态硬盘,以及采用二分索引从固态硬盘的查询热数据的方式,可以实现比冷数据更快的查询速度。因此,为了提高用户在数据查询时的体验,本说明书实施例中,在数据查询界面可以设置加速查询的提示信息,具体的,如图7所述,所述加速查询的提示信息可以为当前速时间段的信息。

另外,本说明书实施例还可以在数据查询界面提供加速查询的触发界面,只有当用户触发了加速查询指令,才会对可以加速的热数据采用从固态硬盘中基于二分索引的数据查询;否则,可以直接按照布隆索引从预设硬盘中获取业务数据。

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

数据查询请求接收模块810,可以用于接收数据查询请求;

数据类型确定模块820,可以用于确定所述数据查询请求所请求的业务数据的数据类型,所述数据类型包括冷数据和/或热数据;

查询数据获取模块830,可以用于基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据;

其中,所述冷数据所对应的索引数据包括布隆索引,所述热数据所对应的索引数据包括二分索引。

另一实施例中,所述数据类型确定模块820可以包括:

时间段获取单元,可以用于获取所述数据查询请求所请求的业务数据所对应的时间段;

第一判断单元,可以用于判断所述所对应的时间段中是否包括预设最近时间段中的时间段;

第一数据类型确定单元,可以用于当所述第一判断单元判断的结果为否时,确定所述数据查询请求所请求的业务数据的数据类型为冷数据。

另一实施例中,所述数据类型确定模块820还可以包括:

第二判断单元,可以用于当所述第一判断单元判断的结果为是时,判断所述所对应的时间段中是否包括所述预设最近时间段中的时间段以外的时间段;

第二数据类型确定单元,可以用于当所述第二判断单元判断的结果为否时,确定所述数据查询请求所请求的业务数据的数据类型为热数据。

另一实施例中,所述数据类型确定模块820还可以包括:

第三数据类型确定单元,用于当所述第二判断单元判断的结果为是时,确定所述数据查询请求所请求的业务数据的数据类型包括冷数据和热数据;

其中,所述以外的时间段所对应的所述所请求的业务数据的数据类型为冷数据,所述所对应的时间段中包括的预设最近时间段中的时间段所对应的所述所请求的业务数据的数据类型为热数据。

所述的装置实施例中的装置与方法实施例基于同样地发明构思。

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

数据获取模块910,可以用于获取业务数据。

第一数据存储模块920,可以用于将所述业务数据存储到预设硬盘。

第一索引建立模块930,可以用于建立所述业务数据的布隆索引。

第一索引数据存储模块940,可以用于将所述布隆索引存储到所述预设硬盘。

数据查询请求接收模块950,可以用于接收数据查询请求。

数据类型确定模块960,可以用于确定所述数据查询请求所请求的业务数据的数据类型,所述数据类型包括冷数据和/或热数据。

查询数据获取模块970,可以用于基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据。

其中,所述冷数据所对应的索引数据包括布隆索引,所述热数据所对应的索引数据包括二分索引。

所述的装置实施例中的装置与方法实施例基于同样地发明构思。

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

数据获取模块1010,可以用于获取业务数据。

第一数据存储模块1020,可以用于将所述业务数据存储到预设硬盘。

第一索引建立模块1030,可以用于建立所述业务数据的布隆索引。

第一索引数据存储模块1040,可以用于将所述布隆索引存储到所述预设硬盘。

第二数据存储模块1050,可以用于将所述业务数据中热数据存储到固态硬盘;

第二索引建立模块1060,可以用于建立所述热数据的二分索引;

第二索引数据存储模块1070,可以用于将所述二分索引存储到所述固态硬盘。

数据查询请求接收模块1080,可以用于接收数据查询请求。

数据类型确定模块1090,可以用于确定所述数据查询请求所请求的业务数据的数据类型,所述数据类型包括冷数据和/或热数据。

查询数据获取模块1100,可以用于基于所述数据类型所对应的索引数据从业务数据的存储区域获取所述数据查询请求所请求的业务数据。

所述的装置实施例中的装置与方法实施例基于同样地发明构思。

本发明实施例提供了一种数据查询服务器,该数据查询服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的数据查询方法。

存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。

本发明实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图11是本发明实施例提供的一种数据查询方法的服务器的硬件结构框图。如图11所示,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1110(处理器1110可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1130,一个或一个以上存储应用程序1123或数据1122的存储介质1120(例如一个或一个以上海量存储设备)。其中,存储器1130和存储介质1120可以是短暂存储或持久存储。存储在存储介质1120的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1110可以设置为与存储介质1120通信,在服务器1100上执行存储介质1120中的一系列指令操作。服务器1100还可以包括一个或一个以上电源1160,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1140,和/或,一个或一个以上操作系统1121,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

输入输出接口1140可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1100的通信供应商提供的无线网络。在一个实例中,输入输出接口1140包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1140可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1100还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。

本发明的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种数据查询方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的数据查询方法。

可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

由上述本发明提供的数据查询方法、装置、服务器或存储介质的实施例可见,本发明中通过为大量的冷数据建立布隆索引以供后续查询索引,可以在大大提高了数据查询速度的同时,降低索引文件的大小,节省了存储资源。另外,将常常需要查询的热数据存储在固态硬盘中,且采用二分索引作为热数据的索引数据,充分利用二分索引对于随机读写的固态硬盘查询速度快的优势,可以更好的提高数据查询速度;且将冷热数据结合实际需求存储到不同的存储区域,可以有效的控制成本。

需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

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

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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