CN109885574A - 一种数据查询方法及装置 - Google Patents

一种数据查询方法及装置 Download PDF

Info

Publication number
CN109885574A
CN109885574A CN201910135452.3A CN201910135452A CN109885574A CN 109885574 A CN109885574 A CN 109885574A CN 201910135452 A CN201910135452 A CN 201910135452A CN 109885574 A CN109885574 A CN 109885574A
Authority
CN
China
Prior art keywords
data
hash table
hot spot
target
target data
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
CN201910135452.3A
Other languages
English (en)
Other versions
CN109885574B (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.)
Guangzhou Li Zhi Network Technology Co Ltd
Original Assignee
Guangzhou Li Zhi Network 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 Guangzhou Li Zhi Network Technology Co Ltd filed Critical Guangzhou Li Zhi Network Technology Co Ltd
Priority to CN201910135452.3A priority Critical patent/CN109885574B/zh
Publication of CN109885574A publication Critical patent/CN109885574A/zh
Application granted granted Critical
Publication of CN109885574B publication Critical patent/CN109885574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种数据查询方法和装置。所述方法包括:对主键进行哈希计算得到关键值;根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;从所述目标热点哈希表中查询目标数据;在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。通过本发明实施例,可以自动识别出热点数据并保持热点数据长期缓存在内存中,不仅提高了查询效率,而且还节省了内存资源。

Description

一种数据查询方法及装置
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据查询方法和装置。
背景技术
互联网行业中,在高并发场景下,会频繁查询某一小部分的数据,这一部分数据我们称之为热点数据。而如何高效地查询这些热点数据、如何保证热点数据不过期、如何清除冷数据,一直是业界关注的问题。
对于传统数据库,数据库缓存用于缓存SQL(Structured Query Language,结构化查询语言)及SQL相应的查询结果,如果表结构或记录数据有变化,则相应的缓存数据会被清空,缓存不能得到有效的应用。而如果执行相同的SQL次数很少,则数据库缓存中存储的将是大部分冷数据,会造成内存资源的浪费。
对于常见的NoSQL(Not Only SQL,非关系型的数据库)技术,比如redis、memcach等,在应用上都是对记录设置过期时长,到了过期时间,记录将被删除;对于ehcache,可以对记录设置距离上次读或写多长时间后,如果没有再被操作,则删除记录。上述的这些NoSQL产品,自身都不具备自动识别出热点数据并保持热点数据长期缓存在内存的功能。
发明内容
本发明公开了一种数据查询方法和装置,以解决现有技术中数据库中存储大量冷数据,导致查询效率低,浪费内存资源的问题。
第一个方面,本发明提供了一种数据查询方法,所述方法包括:
对主键进行哈希计算得到关键值;
根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;
从所述目标热点哈希表中查询目标数据;
在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
优选地,所述方法还包括:
根据所述统计哈希表分别确定所述多个热点哈希表中各热点数据对应的查询次数;
在所述热点数据对应的查询次数不存在的情况下,删除所述热点数据。
优选地,所述方法还包括:
在从所述目标热点哈希表中未查询到所述目标数据的情况下,根据所述关键值从多个数据哈希表中确定目标数据哈希表;
从所述目标数据哈希表中查询所述目标数据;
在查询到所述目标数据的情况下,反馈所述目标数据,并更新所述统计哈希表中所述目标数据对应的查询次数。
优选地,在所述从所述目标数据哈希表中查询所述目标数据之后,所述方法还包括:
在从所述目标数据哈希表中未查询到所述目标数据的情况下,反馈所述目标数据不存在。
优选地,所述方法还包括:
从所述多个数据哈希表中查找超时限数据;
在查找到所述超时限数据的情况下,根据所述统计哈希表确定所述超时限数据对应的查询次数;
在所述超时限数据对应的查询次数小于预设次数的情况下,删除所述超时限数据;
在所述超时限数据对应的查询次数不小于所述预设次数的情况下,将所述超时限数据作为热点数据存储至所述热点哈希表中。
优选地,所述热点哈希表、所述数据哈希表、所述统计哈希表均存储在内存中。
优选地,采用红黑树结构存储哈希冲突的数据。
第二个方面,本发明提供了一种数据查询装置,所述装置包括:
关键值获得模块,用于对主键进行哈希计算得到关键值;
目标热点哈希表确定模块,用于根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;
第一查询模块,用于从所述目标热点哈希表中查询目标数据;
第一反馈更新模块,用于在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
优选地,所述装置还包括:
第一查询次数确定模块,用于根据所述统计哈希表分别确定所述多个热点哈希表中各热点数据对应的查询次数;
热点数据删除模块,用于在所述热点数据对应的查询次数不存在的情况下,删除所述热点数据。
优选地,所述装置还包括:
目标数据哈希表确定模块,用于在从所述目标热点哈希表中未查询到所述目标数据的情况下,根据所述关键值从多个数据哈希表中确定目标数据哈希表;
第二查询模块,用于从所述目标数据哈希表中查询所述目标数据;
第二反馈更新模块,用于在查询到所述目标数据的情况下,反馈所述目标数据,并更新所述统计哈希表中所述目标数据对应的查询次数。
优选地,所述第一反馈更新模块,还用于在从所述目标数据哈希表中未查询到所述目标数据的情况下,反馈所述目标数据不存在。
优选地,所述装置还包括:
超时限数据查找模块,用于从所述多个数据哈希表中查找超时限数据;
第二查询次数确定模块,用于在查找到所述超时限数据的情况下,根据所述统计哈希表确定所述超时限数据对应的查询次数;
超时限数据删除模块,用于在所述超时限数据对应的查询次数小于预设次数的情况下,删除所述超时限数据;
存储模块,用于在所述超时限数据对应的查询次数不小于所述预设次数的情况下,将所述超时限数据作为热点数据存储至所述热点哈希表中。
优选地,所述热点哈希表、所述数据哈希表、所述统计哈希表均存储在内存中。
优选地,采用红黑树结构存储哈希冲突的数据。
第三方面,本发明提供了一种移动终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述的数据查询方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现所述的数据查询方法的步骤。
相对于现有技术,本发明实施例包括以下优点:
对主键进行哈希计算得到关键值;根据关键值从多个热点哈希表中确定待查询的目标热点哈希表;从目标热点哈希表中查询目标哈希数据;在查询到目标哈希数据的情况下,反馈目标哈希数据,并更新统计哈希表中目标哈希数据对应的查询次数。由于采用热点数据表存储热点数据,可以在查询时热点数据大概率地在内存中被查询到,即提高了查询效率。采用多份热点哈希表可以使数据存储更分散,减少哈希冲突的发生。并且,在查询到目标数据的情况下,更新统计哈希表中目标数据对应的查询次数,从而根据统计哈希表淘汰热点哈希表中变冷的数据,防止冷却的数据占用内存资源。通过本发明实施例,可以提高查询效率,节省内存资源。
附图说明
图1是本发明的一种数据查询方法的步骤流程图;
图2是本发明的存储结构的示意图;
图3是本发明的查询流程的示意图;
图4是本发明的淘汰流程的示意图之一;
图5是本发明的淘汰流程的示意图之二;
图6是本发明的一种数据查询装置的结构框图;
图7是本发明的一种移动终端的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种数据查询方法的步骤流程图,具体可以包括如下步骤:
步骤101,对主键进行哈希计算得到关键值。
本实施例中,参照图2所示的存储结构的示意图,在内存中存储有热点哈希表集,热点哈希表集包括多个热点哈希表,各热点哈希表中均存储有热点数据。可以对多个热点哈希表进行命名并编号。例如,命名为:热点哈希表_表编号,其中表编号为正整数。采用多个热点哈希表缓存热点数据,一方面可以减少一个热点哈希表中存储的数据量,另一方面可以降低哈希碰撞的概率,使热点数据在查询时大概率地被查询到,也就是说提高了查询效率。
参照图3所示的查询流程的示意图,在查询目标数据时,查询模块通可以过murmur哈希算法对主键进行哈希计算得到关键值key。Murmur哈希算法是一种非加密散列函数,适用于一般的基于散列的查找。将多个热点哈希表与Murmur哈希算法结合,可以使数据存储更分散、减少哈希冲突的发生。
步骤102,根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表。
本实施例中,根据关键值key和热点哈希表的数量N确定目标热点哈希表。具体地,采用关键值key对热点哈希表的数量N进行取模,得到目标热点哈希表的表编号。
例如,热点哈希表的数量N默认为16,可以采用关键值key对16取模得到表编号2,即待查询的目标热点哈希表为热点哈希表_2。热点哈希表的数量还可以为其他值,本发明实施例对此不作详细限定,可以根据实际情况进行设置。
步骤103,从所述目标热点哈希表中查询目标数据。
本实施例中,确定目标热点哈希表后,从目标热点哈希表中查询目标数据。例如,从热点哈希表_2中查询目标数据A;或者,从热点哈希表_3中查询目标数据B。
步骤104,在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
本实施例中,在查询到目标数据的情况下,反馈查询到的目标数据。例如,查询到目标数据A,则反馈目标数据A;查询到目标数据B,则反馈目标数据B。
参照图2所示,内存中还存储有统计哈希表,统计哈希表中存储各个热点数据和各个近期写入数据对应的操作信息,比如查询次数、数据状态、存储时长等等。在反馈目标数据时,异步更新统计哈希表中的统计信息。例如,在查询到目标数据A时,将统计哈希表中目标数据A对应的查询次数加1;在查询到目标数据B时,将统计哈希表中目标数据B对应的查询次数加1。
参照图3所示,在从所述目标热点哈希表中未查询到所述目标数据的情况下,可以按照如下步骤进行:
步骤105,根据所述关键值从多个数据哈希表中确定目标数据哈希表。
本实施例中,参照图2所示,内存中还存储有数据哈希表集,数据哈希表集包括多个数据哈希表,其中,各数据哈希表中均存储有近期写入数据。可以对多个数据哈希表进行命名并编号。例如,命名为:数据哈希表_表编号,其中表编号为正整数。多个数据哈希表的设置与多个热点哈希表的设置相同,一方面是减少一个数据哈希表存储的数据量,另一方面是降低哈希碰撞的概率,提高读写性能。
在从目标热点哈希表中未查询到目标数据时,采用关键值key对数据哈希表的数据进行取模,得到目标数据哈希表的表编号。例如,数据哈希表的数量默认为16,可以采用关键值key对16取模得到表编号2,即待查询的目标数据哈希表为数据哈希表_2。数据哈希表的数量还可以为其他值,本发明实施例对此不作详细限定,可以根据实际情况进行设置。
步骤106,从所述目标数据哈希表中查询所述目标数据。
本实施例中,在确定目标数据哈希表后,从目标数据哈希表中查询目标数据。
例如,查询目标数据A,如果在热点哈希表_2中未查询到,则从数据哈希表_2中查询。
例如,查询目标数据B,如果在热点哈希表_3中查询到,则反馈目标数据B。如果从热点哈希表_3中未查询到,则从16个数据哈希表中确定待查询的目标数据哈希表;确定目标数据哈希表为数据哈希表_3后,从数据哈希表_3中查询目标数据B。
步骤107,在查询到所述目标数据的情况下,反馈所述目标数据,并更新所述统计哈希表中所述目标数据对应的查询次数。
本实施例中,从目标数据哈希表中查询到目标数据时,反馈目标数据。同时,异步更新统计哈希表中的统计信息。
例如,从数据哈希表_2中查询到目标数据A,则反馈目标数据A,同时将统计哈希表中目标数据A对应的查询次数加1。从数据哈希表_3中查询到目标数据B,则反馈目标数据B,同时将统计哈希表中目标数据B对应的查询次数加1。
步骤108,在从所述目标数据哈希表中未查询到所述目标数据的情况下,反馈所述目标数据不存在。
本实施例中,在从目标数据哈希表中未查询到目标数据时,反馈目标数据不存在。
例如,在从数据哈希表_2未查询到目标数据A时,反馈目标数据A不存在;在从数据哈希表_3未查询到目标数据B时,反馈目标数据B不存在。
本发明的一种优选实施例中,参照图4所示的淘汰流程的示意图,还可以包括如下步骤:
步骤109,根据所述统计哈希表分别确定所述多个热点哈希表中各热点数据对应的查询次数。
本实施例中,淘汰模块可以按照第一预设周期遍历多个热点哈希表,根据统计哈希表分别确定多个热点哈希表中各热点数据对应的查询次数。例如,淘汰模块每24小时遍历多个热点哈希表,根据统计哈希表确定各热点数据对应的查询次数;或者,淘汰模块每48小时遍历多个热点哈希表,根据统计哈希表确定各热点数据对应的查询次数。本发明实施例对第一预设周期不作详细限定,可以根据实际情况进行设置。
淘汰模块还可以按照查询次数的多少对热点数据进行排序,其中,查询次数多的为热点数据,查询次数少的为“冷却”的热点数据。本发明实施例对此不作详细限定,可以根据实际情况进行设置。
步骤110,在所述热点数据对应的查询次数不存在的情况下,删除所述热点数据。
本实施例中,在热点数据对应的查询次数不存在时,表明该热点数据已不再被查询,该热点数据已转为冷数据。此时,淘汰模块可以删除该热点数据,避免该热点数据继续占用内存资源,节省了内存资源。
本发明的一种优选实施例中,参照图5所示的淘汰流程的示意图,还可以包括如下步骤:
步骤111,从所述多个数据哈希表中查找超时限数据。
本实施例中,淘汰模块可以按照第二预设周期从数据哈希表中查找超时限数据。例如,淘汰模块每5天从数据哈希表中查找超时限数据;或者,每10天从数据哈希表中查找超时限数据。本发明实施例对第二预设周期不作详细限定,可以根据实际情况进行设置。
确定数据哈希表中存储的数据是否为超时限数据时,可以根据预设时限进行判断。具体地,当数据的存储时长大于预设时限时,判定该数据为超时限数据。例如,数据C的存储时长为201小时,数据D的存储时长为101小时,在预设时限为100小时的情况下,数据C和数据D均为超时限数据;在预设时限为200小时的情况下,数据C为超时限数据;数据D不是超时限数据。本发明实施例对预设时限不作详细限定,可以根据实际情况进行设置。
步骤112,在查找到所述超时限数据的情况下,根据所述统计哈希表确定所述超时限数据对应的查询次数。
本实施例中,在查找到超时限数据时,在统计哈希表中查找该超时限数据对应的查询次数。
例如,查找到超时限数据C,在统计哈希表中,超时限数据C对应的查询次数为5次;查找到超时限数据D,在统计哈希表中,超时限数据D对应的查询次数为40次。
步骤113,在所述超时限数据对应的查询次数小于预设次数的情况下,删除所述超时限数据。
本实施例中,在确定超时限数据对应的查询次数后,判断查询次数是否小于预设次数,当查询次数小于预设次数时,表明该超时限数据为冷数据,长期未被查询,此时,删除该超时限数据。
例如,超时限数据C对应的查询次数为5次,小于预设次数30次,则可以确定超时限数据C为冷数据,删除超时限数据C。可见,本实施例可以自动清除冷数据,避免冷数据占用内存空间,可以节省内存资源。
步骤114,在所述超时限数据对应的查询次数不小于所述预设次数的情况下,将所述超时限数据作为热点数据存储至所述热点哈希表中。
本实施例中,当超时限数据对应的查询次数不小于预设次数时,表明该超时限数据经常被查询,因此将该超时限数据存储至热点哈希表中。
例如,超时限数据D对应的查询次数为40次,不小于预设次数30次,则将超时限数据存储至热点哈希表中。可见,本实施例可以自动识别出热点数据,并保持热点数据长期缓存在内存中,从而提高了读写性能。
本发明的一种优选实施例中,采用红黑树结构存储哈希冲突的数据。
红黑树结构的性能比B树、B+树高,因此本实施例中采用红黑树结构存储哈希冲突的数据,可以保证在最坏情况下,查询的时间复杂度为O(log N)。
在本发明实施例中,对主键进行哈希计算得到关键值;根据关键值从多个热点哈希表中确定待查询的目标热点哈希表;从目标热点哈希表中查询目标哈希数据;在查询到目标哈希数据的情况下,反馈目标哈希数据,并更新统计哈希表中目标哈希数据对应的查询次数。由于采用热点数据表存储热点数据,可以使热点数据在查询时大概率地在内存中被查询到,即提高了查询效率。采用多份热点哈希表可以使数据存储更分散,减少哈希冲突的发生。并且,在查询到目标数据的情况下,更新统计哈希表中目标数据对应的查询次数,从而根据统计哈希表淘汰热点哈希表中变冷的数据,防止冷数据占用内存资源。通过本发明实施例,可以自动识别出热点数据并保持热点数据长期缓存在内存中,不仅提高了查询效率,而且还节省了内存资源。
参照图6,示出了本发明的一种数据查询装置的结构框图,具体可以包括如下模块:
关键值获得模块201,用于对主键进行哈希计算得到关键值;
目标热点哈希表确定模块202,用于根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;
第一查询模块203,用于从所述目标热点哈希表中查询目标数据;
第一反馈更新模块204,用于在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
优选地,所述装置还包括:
第一查询次数确定模块,用于根据所述统计哈希表分别确定所述多个热点哈希表中各热点数据对应的查询次数;
热点数据删除模块,用于在所述热点数据对应的查询次数不存在的情况下,删除所述热点数据。
优选地,所述装置还包括:
目标数据哈希表确定模块,用于在从所述目标热点哈希表中未查询到所述目标数据的情况下,根据所述关键值从多个数据哈希表中确定目标数据哈希表;
第二查询模块,用于从所述目标数据哈希表中查询所述目标数据;
第二反馈更新模块,用于在查询到所述目标数据的情况下,反馈所述目标数据,并更新所述统计哈希表中所述目标数据对应的查询次数。
优选地,所述第一反馈更新模块,还用于在从所述目标数据哈希表中未查询到所述目标数据的情况下,反馈所述目标数据不存在。
优选地,所述装置还包括:
超时限数据查找模块,用于从所述多个数据哈希表中查找超时限数据;
第二查询次数确定模块,用于在查找到所述超时限数据的情况下,根据所述统计哈希表确定所述超时限数据对应的查询次数;
超时限数据删除模块,用于在所述超时限数据对应的查询次数小于预设次数的情况下,删除所述超时限数据;
存储模块,用于在所述超时限数据对应的查询次数不小于所述预设次数的情况下,将所述超时限数据作为热点数据存储至所述热点哈希表中。
优选地,所述热点哈希表、所述数据哈希表、所述统计哈希表均存储在内存中。
优选地,采用红黑树结构存储哈希冲突的数据。
本发明实施例提供的装置能够实现图1的方法实施例中的各个过程,为避免重复,这里不再赘述。
在本发明实施例中,对主键进行哈希计算得到关键值;根据关键值从多个热点哈希表中确定待查询的目标热点哈希表;从目标热点哈希表中查询目标哈希数据;在查询到目标哈希数据的情况下,反馈目标哈希数据,并更新统计哈希表中目标哈希数据对应的查询次数。由于采用热点数据表存储热点数据,可以使热点数据在查询时大概率地在内存中被查询到,即提高了查询效率。采用多份热点哈希表可以使数据存储更分散,减少哈希冲突的发生。并且,在查询到目标数据的情况下,更新统计哈希表中目标数据对应的查询次数,从而根据统计哈希表淘汰热点哈希表中变冷的数据,防止冷数据占用内存资源。通过本发明实施例,可以自动识别出热点数据并保持热点数据长期缓存在内存中,不仅提高了查询效率,而且还节省了内存资源。
图7为实现本发明各个实施例的一种移动终端的硬件结构示意图。
该移动终端300包括但不限于:射频单元301、网络模块302、音频输出单元303、输入单元304、传感器305、显示单元306、用户输入单元307、接口单元308、存储器309、处理器310、以及电源311等部件。本领域技术人员可以理解,图7中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器310,用于对主键进行哈希计算得到关键值;
根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;
从所述目标热点哈希表中查询目标数据;
在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
在本发明实施例中,由于采用热点数据表存储热点数据,可以使热点数据在查询时大概率地在内存中被查询到,即提高了查询效率。采用多份热点哈希表可以使数据存储更分散,减少哈希冲突的发生。并且,在查询到目标数据的情况下,更新统计哈希表中目标数据对应的查询次数,从而根据统计哈希表淘汰热点哈希表中变冷的数据,防止冷数据占用内存资源。通过本发明实施例,可以自动识别出热点数据并保持热点数据长期缓存在内存中,不仅提高了查询效率,而且还节省了内存资源。
应理解的是,本发明实施例中,射频单元301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器310处理;另外,将上行的数据发送给基站。通常,射频单元301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元301还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元303可以将射频单元301或网络模块302接收的或者在存储器309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元303还可以提供与移动终端300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元303包括扬声器、蜂鸣器以及受话器等。
输入单元304用于接收音频或视频信号。输入单元304可以包括图形处理器(Graphics Processing Unit,GPU)3041和麦克风3042,图形处理器3041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元306上。经图形处理器3041处理后的图像帧可以存储在存储器309(或其它存储介质)中或者经由射频单元301或网络模块302进行发送。麦克风3042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元301发送到移动通信基站的格式输出。
移动终端300还包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板3061的亮度,接近传感器可在移动终端300移动到耳边时,关闭显示面板3061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板3061。
用户输入单元307可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元307包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板3071上或在触控面板3071附近的操作)。触控面板3071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器310,接收处理器310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板3071。除了触控面板3071,用户输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板3071可覆盖在显示面板3061上,当触控面板3071检测到在其上或附近的触摸操作后,传送给处理器310以确定触摸事件的类型,随后处理器310根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图3中,触控面板3071与显示面板3061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元308为外部装置与移动终端300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端300内的一个或多个元件或者可以用于在移动终端300和外部装置之间传输数据。
存储器309可用于存储软件程序以及各种数据。存储器309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器310是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器309内的软件程序和/或模块,以及调用存储在存储器309内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器310可包括一个或多个处理单元;优选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
移动终端300还可以包括给各个部件供电的电源311(比如电池),优选的,电源311可以通过电源管理系统与处理器310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端300包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种移动终端,包括处理器310,存储器309,存储在存储器309上并可在所述处理器310上运行的计算机程序,该计算机程序被处理器310执行时实现上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种数据查询方法,其特征在于,所述方法包括:
对主键进行哈希计算得到关键值;
根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;
从所述目标热点哈希表中查询目标数据;
在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述统计哈希表分别确定所述多个热点哈希表中各热点数据对应的查询次数;
在所述热点数据对应的查询次数不存在的情况下,删除所述热点数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在从所述目标热点哈希表中未查询到所述目标数据的情况下,根据所述关键值从多个数据哈希表中确定目标数据哈希表;
从所述目标数据哈希表中查询所述目标数据;
在查询到所述目标数据的情况下,反馈所述目标数据,并更新所述统计哈希表中所述目标数据对应的查询次数。
4.根据权利要求3所述的方法,其特征在于,在所述从所述目标数据哈希表中查询所述目标数据之后,所述方法还包括:
在从所述目标数据哈希表中未查询到所述目标数据的情况下,反馈所述目标数据不存在。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
从所述多个数据哈希表中查找超时限数据;
在查找到所述超时限数据的情况下,根据所述统计哈希表确定所述超时限数据对应的查询次数;
在所述超时限数据对应的查询次数小于预设次数的情况下,删除所述超时限数据;
在所述超时限数据对应的查询次数不小于所述预设次数的情况下,将所述超时限数据作为热点数据存储至所述热点哈希表中。
6.根据权利要求3所述的方法,其特征在于,所述热点哈希表、所述数据哈希表、所述统计哈希表均存储在内存中。
7.根据权利要求1-6任一项所述的方法,其特征在于,采用红黑树结构存储哈希冲突的数据。
8.一种数据查询装置,其特征在于,所述装置包括:
关键值获得模块,用于对主键进行哈希计算得到关键值;
目标热点哈希表确定模块,用于根据所述关键值从多个热点哈希表中确定待查询的目标热点哈希表;
第一查询模块,用于从所述目标热点哈希表中查询目标数据;
第一反馈更新模块,用于在查询到所述目标数据的情况下,反馈所述目标数据,并更新统计哈希表中所述目标数据对应的查询次数。
9.一种移动终端,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据查询方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据查询方法的步骤。
CN201910135452.3A 2019-02-22 2019-02-22 一种数据查询方法及装置 Active CN109885574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910135452.3A CN109885574B (zh) 2019-02-22 2019-02-22 一种数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910135452.3A CN109885574B (zh) 2019-02-22 2019-02-22 一种数据查询方法及装置

Publications (2)

Publication Number Publication Date
CN109885574A true CN109885574A (zh) 2019-06-14
CN109885574B CN109885574B (zh) 2020-05-05

Family

ID=66929056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910135452.3A Active CN109885574B (zh) 2019-02-22 2019-02-22 一种数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN109885574B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990372A (zh) * 2019-11-06 2020-04-10 苏宁云计算有限公司 一种维度数据的处理方法及装置、数据查询方法及装置
CN113254422A (zh) * 2021-06-07 2021-08-13 云上(南昌)大数据运营有限公司 一种基于云计算应用于城市大脑的政务资源管理系统
CN113760982A (zh) * 2021-01-18 2021-12-07 西安京迅递供应链科技有限公司 一种数据处理方法和装置
CN113760965A (zh) * 2020-06-17 2021-12-07 北京沃东天骏信息技术有限公司 数据查询的方法和装置
WO2022048284A1 (zh) * 2020-09-04 2022-03-10 苏州浪潮智能科技有限公司 一种基因对比的哈希查表方法、装置、设备及存储介质
CN117076465A (zh) * 2023-10-16 2023-11-17 支付宝(杭州)信息技术有限公司 一种数据关联查询方法及相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336849A (zh) * 2013-07-24 2013-10-02 昆明理工大学 一种数据库检索系统中提高检索速度的方法及装置
CN103995879A (zh) * 2014-05-27 2014-08-20 华为技术有限公司 基于olap系统的数据查询方法、装置及系统
US8819027B1 (en) * 2011-06-27 2014-08-26 Amazon Technologies, Inc. System and method for partitioning and indexing table data using a composite primary key
CN104298774A (zh) * 2014-10-31 2015-01-21 北京思特奇信息技术股份有限公司 一种利用函数查询哈希表的方法及系统
CN104536724A (zh) * 2014-12-25 2015-04-22 华中科技大学 一种多核环境下哈希表并发访问性能优化方法
CN104951403A (zh) * 2015-07-06 2015-09-30 中国科学技术大学 一种低开销且无差错的冷热数据识别方法
CN107133183A (zh) * 2017-04-11 2017-09-05 深圳市云舒网络技术有限公司 一种基于tcmu虚拟块设备的缓存数据访问方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870514B (zh) * 2012-12-18 2018-03-09 华为技术有限公司 重复数据删除方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819027B1 (en) * 2011-06-27 2014-08-26 Amazon Technologies, Inc. System and method for partitioning and indexing table data using a composite primary key
CN103336849A (zh) * 2013-07-24 2013-10-02 昆明理工大学 一种数据库检索系统中提高检索速度的方法及装置
CN103995879A (zh) * 2014-05-27 2014-08-20 华为技术有限公司 基于olap系统的数据查询方法、装置及系统
CN104298774A (zh) * 2014-10-31 2015-01-21 北京思特奇信息技术股份有限公司 一种利用函数查询哈希表的方法及系统
CN104536724A (zh) * 2014-12-25 2015-04-22 华中科技大学 一种多核环境下哈希表并发访问性能优化方法
CN104951403A (zh) * 2015-07-06 2015-09-30 中国科学技术大学 一种低开销且无差错的冷热数据识别方法
CN107133183A (zh) * 2017-04-11 2017-09-05 深圳市云舒网络技术有限公司 一种基于tcmu虚拟块设备的缓存数据访问方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990372A (zh) * 2019-11-06 2020-04-10 苏宁云计算有限公司 一种维度数据的处理方法及装置、数据查询方法及装置
CN113760965A (zh) * 2020-06-17 2021-12-07 北京沃东天骏信息技术有限公司 数据查询的方法和装置
WO2022048284A1 (zh) * 2020-09-04 2022-03-10 苏州浪潮智能科技有限公司 一种基因对比的哈希查表方法、装置、设备及存储介质
CN113760982A (zh) * 2021-01-18 2021-12-07 西安京迅递供应链科技有限公司 一种数据处理方法和装置
CN113760982B (zh) * 2021-01-18 2024-05-17 西安京迅递供应链科技有限公司 一种数据处理方法和装置
CN113254422A (zh) * 2021-06-07 2021-08-13 云上(南昌)大数据运营有限公司 一种基于云计算应用于城市大脑的政务资源管理系统
CN113254422B (zh) * 2021-06-07 2021-11-12 云上(南昌)大数据运营有限公司 一种基于云计算应用于城市大脑的政务资源管理系统
CN117076465A (zh) * 2023-10-16 2023-11-17 支付宝(杭州)信息技术有限公司 一种数据关联查询方法及相关设备
CN117076465B (zh) * 2023-10-16 2024-04-05 支付宝(杭州)信息技术有限公司 一种数据关联查询方法及相关设备

Also Published As

Publication number Publication date
CN109885574B (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN109885574A (zh) 一种数据查询方法及装置
CN107798075A (zh) 一种截屏方法及移动终端
CN107608514A (zh) 信息处理方法及移动终端
CN109885573B (zh) 一种数据存储系统的维护方法、装置和移动终端
CN107992432A (zh) 一种数据缓存的方法及终端设备
CN108241703B (zh) 网页数据传输方法和装置
CN110035149A (zh) 一种多天线优化方法及移动终端
CN109885257A (zh) 一种磁盘文件读写方法及装置
CN110069675A (zh) 一种检索方法及移动终端
CN110308837A (zh) 文件管理方法及终端
CN110191193A (zh) 一种终端消息同步方法、装置和移动终端
CN110381204A (zh) 一种信息显示方法及移动终端
CN109902092A (zh) 一种数据存储系统的操作方法、装置和移动终端
CN107786739A (zh) 一种信息获取方法及移动终端
CN108322897A (zh) 卡套餐组合方法及装置
CN109063076A (zh) 一种图片生成方法及移动终端
CN108882043A (zh) 一种播放控制方法及移动终端
CN106385498B (zh) 信息归类方法及装置
CN108459813A (zh) 一种搜索方法及移动终端
CN108494949B (zh) 一种图像分类方法及移动终端
CN109889613A (zh) 一种消息推送方法、装置和移动终端
CN107766351A (zh) 文件目录的识别方法及装置
CN111666421B (zh) 数据处理方法、装置及电子设备
CN109922209A (zh) 一种照片管理方法及终端设备
CN106686692B (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