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

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

Info

Publication number
CN105824876A
CN105824876A CN201610114682.8A CN201610114682A CN105824876A CN 105824876 A CN105824876 A CN 105824876A CN 201610114682 A CN201610114682 A CN 201610114682A CN 105824876 A CN105824876 A CN 105824876A
Authority
CN
China
Prior art keywords
target data
data
information
data information
relation
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.)
Pending
Application number
CN201610114682.8A
Other languages
English (en)
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.)
LeTV Information Technology Beijing Co Ltd
Original Assignee
LeTV Information Technology Beijing 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 LeTV Information Technology Beijing Co Ltd filed Critical LeTV Information Technology Beijing Co Ltd
Priority to CN201610114682.8A priority Critical patent/CN105824876A/zh
Publication of CN105824876A publication Critical patent/CN105824876A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据查询方法及装置,涉及数据存储及查询领域,方法包括:获取查询指令,查询指令中包括至少两个目标数据属性以及目标数据属性之间的关系;根据目标数据属性和目标数据属性之间的关系,在预存的多个数据信息组合中获取目标数据信息组合以及目标数据信息组合之间的关系,其中,同一数据信息组合所存储的数据信息对应的数据具有相同的属性;根据目标数据信息组合和目标数据信息组合之间的关系,获取目标数据信息;根据目标数据信息获取目标数据。本发明提供的方案可以大幅降低数据查询操作的数据运算量,节约处理器资源。

Description

一种数据查询方法及装置
技术领域
本发明涉及数据存储及查询领域,具体涉及一种数据查询方法及装置。
背景技术
目前,用户所需的数据可以存储在服务器端,用户需要查看数据时可以向服务器提供查询条件,服务器根据查询条件来查找用户所需的数据,并向用户反馈。
例如服务器中存有多个歌曲数据,这些歌曲可能属于不同的风格,并且各个歌曲可能必须在特定的平台(手机、电脑等)上播放,那么这些数据就具有多种属性,如风格属性、平台属性等。当用户想要查询具有某些特定属性的数据时,会提供特定的查询条件,系统将根据查询条件逐一判断各个数据的各种属性,对于复杂的查询条件,将进行循环判断,例如用户提供的查询条件为在手机平台播放的,且为流行风格的歌曲,服务器首先在所有歌曲中筛选出属于手机平台上的歌曲,然后在第一次的筛选结果中再次筛选属于流行风格的歌曲,即对所有数据进行多次循环筛选,查询条件越复杂循环筛选的次数越多。由此可见,现有的数据查询方式,数据查询操作的运算量较大,浪费处理器资源。
发明内容
因此,本发明实施例要解决的是现有的数据查询方式运算量较大的技术问题。
有鉴于此,本发明实施例提供一种数据查询方法,包括如下步骤:获取查询指令,所述查询指令中包括至少两个目标数据属性以及所述目标数据属性之间的关系;根据所述目标数据属性和所述目标数据属性之间的关系,在预存的多个数据信息组合中获取目标数据信息组合以及所述目标数据信息组合之间的关系,其中,每个数据信息组合所存储的数据信息对应的数据具有相同的属性;根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息;根据所述目标数据信息获取目标数据。
优选地,所述数据信息为数据的索引信息。
优选地,所述数据信息组合为bitset对象,bitset对象的名称为数据属性。
优选地,所述根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息,包括:根据所述目标数据信息的关系确定目标数据信息间的运算类型,所述运算类型包括和运算、与运算;根据确定的运算类型对所述目标数据信息进行运算;根据运算的结果获取目标数据信息。
相应地,本发明实施例还提供一种数据查询装置,包括:查询指令获取单元,获取查询指令,所述查询指令中包括至少两个目标数据属性以及所述目标数据属性之间的关系;确定单元,用于根据所述目标数据属性和所述目标数据属性之间的关系,在预存的多个数据信息组合中获取目标数据信息组合以及所述目标数据信息组合之间的关系,其中,每个数据信息组合所存储的数据信息对应的数据具有相同的属性;提取单元,用于根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息;目标数据获取单元,用于根据所述目标数据信息获取目标数据。
优选地,所述数据信息为数据的索引信息。
优选地,所述数据信息组合为bitset对象,bitset对象的名称为数据属性。
优选地所述提取单元包括:运算关系确定单元,用于根据目标数据信息组合之间的关系确定目标数据信息组合间的运算类型,所述运算类型包括和运算、与运算;运算单元,用于根据确定的运算类型对目标数据信息组合进行运算;数据信息获取单元,用于根据运算的结果获取目标数据信息。
优选地,所述目标数据获取单元,包括:存储位置确定单元,用于根据提取的数据索引信息确定数据的存储位置;目标数据获取子单元,用于在确定的存储位置获取数据。
本发明使用数据信息组合的方式存储数据,在查询数据时,可以根据查询指令中的内容在预先建立的数据信息组合中确定与查询指令相对应的数据信息组合,然后根据多个数据信息组合的关系提取存储的内容,即可确定符合查询指令的数据,相比于现有的循环判断的方式反复筛选所有数据,本方案可以大幅降低数据查询操作的数据运算量,节约处理器资源。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据查询方法的流程图;
图2为本发明实施例提供的数据查询装置的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供一种数据查询方法,该方法可以由用于存储数据的服务器执行,如图1所示,该方法包括如下步骤:
S1,获取查询指令,所述查询指令中包括至少两个目标数据属性以及所述目标数据属性之间的关系。假设一服务器的数据库中存储有多个数据,每个数据都可以具有多个预定的类型属性。以音乐数据为例,音乐数据可以有诸如风格、演唱者、播放平台等多种类型属性,用户可以对音乐数据进行筛选查询。例如用户可以提供一查询指令,用于查询属于流行风格且可以在手机平台上播放的音乐,则该查询指令中包括“流行”和“手机平台”这两个属性信息,并且两个属性信息是“与”的关系。本领域技术人员可以理解,实际情况中还可以有更多的属性信息,并且属性信息之间可以有更复杂的逻辑关系。
S2,根据查询指令在预存的多个数据信息组合中获取目标数据信息组合以及所述目标数据信息组合之间的关系,其中,每个数据信息组合所存储的数据信息对应的数据具有相同的属性。
假设服务器中存储的数据有n种属性,则可建立N个数据信息组合来存储各个数据(N的取值取决于n种属性中的具体选项数量)的信息,数据的信息可以是标识信息、地址信息、索引信息等。仍以音频数据为例,假设共有5个音频数据,5个数据的数据信息分别为id1~id5,这5个数据有2种属性:风格属性和平台属性,假设风格属性有“流行”和“摇滚”两个选项,平台属性有“手机平台”和“web平台”两个选项。对于平台属性,假设id1、id2对应的数据的平台属性为“手机平台”,id3、id4、id5对应的数据的平台属性为“web平台”;对于风格属性,假设id1、id3对应的数据的风格属性为“流行”,id2、id4、id5对应的数据的风格属性为“摇滚”。那么预先可以建立4个数据信息组合bs1~bs4,其中bs1用于存储id1、id2,bs2用于存储id3、id4、id5,bs3用于存储id1、id3,bs4用于存储id2、id4、id5。预先建立的数据信息组合具有名称信息,且名称信息与上述属性相对应,即bs1的名称为“手机平台”、bs2的名称为“web平台”、bs3的名称为“流行”、bs4的名称为“摇滚”。
在获取到步骤S1中的查询指令后,即可确定数据信息组合bs1和bs3,且可以确定bs1和bs3是“并且”的关系。
S3,根据目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息。根据上例可知,则提取既存储在bs1中又存储在bs3中的数据信息,即id1(如果bs1和bs3是“或”的关系,则应当提取id1、id2、id3)。
S4,根据所述目标数据信息获取目标数据,即根据id1查找id1对应的音频数据。
上述方案使用数据信息组合的方式存储数据,在查询数据时,可以根据查询指令中的内容在预先建立的数据信息组合中确定与查询指令相对应的数据信息组合,然后根据多个数据信息组合的关系提取存储的内容,即可确定符合查询指令的数据,相比于现有的循环判断的方式反复筛选所有数据,本方案可以大幅降低数据查询操作的数据运算量,节约处理器资源。
本发明实施例优选采用bitset对象作为数据信息组合,即采用Java的Bitset存储方式来存储数据。本领域技术人员应当理解,Java中有一BitSet类,用于创建一个特殊类型的数组来保存位值,该BitSet中数组的大小可以根据需要增加,这使得它类似于比特的向量,这是一个传统类,它已被完全重新设计在Java2,1.4版本。下面通过一个简单举例来说明本发明所采用的Bitset存储方式:
计算机中一个字节(byte)占8位(bit),java中数据至少按字节存储,比如一个int占4个字节,如果遇到大的数据量,这样必然会需要很大存储空间和内存,而如何减少数据占用存储空间和内存可以用算法解决,java.util.BitSet就提供了这样的算法。比如有多个数字需要存储source=[3,5,6,9],用int就需要4*4个字节,而java.util.BitSet可以存true/false,那么如果用java.util.BitSet,占用的字节量则会少很多,其原理是:先找出数据中最大值maxvalue=9,声明一个数组BitSetbs,它的size是maxvalue+1=10,遍历数据source,bs[source[i]]设置成true,最后的值是:
bs[0,0,0,1,0,1,1,0,0,1],(0为false;1为true),
即3,5,6,9;
这样一个本来要int型需要占4字节共32位的数字现在只用了1位,与普通的存储方式的比例为32:1,上述优选方案可以减少数据信息所占用的存储空间。
对于数据量很小的数据,数据信息可以是数据本身的内容;而对于数据量很大的数据,如视频数据、音频数据等,数据信息优选为数据的索引信息,本方案优选使用数据的索引信息,由此在查询时可以大幅减少内存的使用量。
作为一个优选的实施方式,上述步骤S3可以包括:
S31,根据目标数据信息组合之间的关系确定目标数据信息组合间的运算类型,所述运算类型通常包括“和运算”、“与运算”,除此之外还可以包括“非运算”等其他逻辑运算。根据查询指令可以确定多个bitset对象间的复杂逻辑关系,例如查询指令所指的是风格为流行或摇滚,平台为手机平台的音乐数据,由此可以确定各个bitset对象的运算关系为bs1and(bs3orbs4),
S32,根据确定的运算类型对目标数据信息组合进行运算。由于java中支持数据信息组合之间的逻辑运算,由此即可直接根据步骤S31中确定的关系式对数据信息组合进行计算,得到符合条件的数据信息为id1、id2。
S33,根据运算的结果获取目标数据信息。
上述优选方案通过对数据信息组合进行逻辑运算来确定符合查询条件的数据信息,由此可进一步提高计算效率,节约处理器资源。
对于数据信息是索引信息的情况,上述步骤S4包括:
S41,根据提取的索引信息确定数据的存储位置;
S42,在确定的存储位置获取数据。
上述优选方案只访问符合查询条件的数据的实际内容,避免加载其他数据的实际内容,由此可减少内存的使用量。
本发明的另一个实施例还提供一种数据查询装置,如图2所示,该装置包括:
查询指令获取单元21,获取查询指令,所述查询指令中包括至少两个目标数据属性以及所述目标数据属性之间的关系;
确定单元22,用于根据所述目标数据属性和所述目标数据属性之间的关系,在预存的多个数据信息组合中获取目标数据信息组合以及所述目标数据信息组合之间的关系,其中,每个数据信息组合所存储的数据信息对应的数据具有相同的属性;
提取单元23,用于根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息;
目标数据获取单元24,用于根据所述目标数据信息获取目标数据。
上述方案使用数据信息组合的方式存储数据,在查询数据时,可以根据查询指令中的内容在预先建立的数据信息组合中确定与查询指令相对应的数据信息组合,然后根据多个数据信息组合的关系提取存储的内容,即可确定符合查询指令的数据,相比于现有的循环判断的方式反复筛选所有数据,本方案可以大幅降低数据查询操作的数据运算量,节约处理器资源。
优选地,所述提取单元23包括:
运算关系确定单元,用于根据目标数据信息组合之间的关系确定目标数据信息组合间的运算类型,所述运算类型包括和运算、与运算;
运算单元,用于根据确定的运算类型对目标数据信息组合进行运算;
数据信息获取单元,用于根据运算的结果获取目标数据信息。
上述优选方案通过对数据信息组合进行逻辑运算来确定符合查询条件的数据信息,由此可进一步提高计算效率,节约处理器资源。
优选地,所述目标数据获取单元24包括:
存储位置确定单元,用于根据提取的索引信息确定数据的存储位置;
目标数据获取子单元,用于在确定的存储位置获取数据。
上述优选方案只访问符合查询条件的数据的实际内容,避免加载其他数据的实际内容,由此可减少内存的使用量。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种数据查询方法,其特征在于,包括如下步骤:
获取查询指令,所述查询指令中包括至少两个目标数据属性以及所述目标数据属性之间的关系;
根据所述目标数据属性和所述目标数据属性之间的关系,在预存的多个数据信息组合中获取目标数据信息组合以及所述目标数据信息组合之间的关系,其中,每个数据信息组合所存储的数据信息对应的数据具有相同的属性;
根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息;
根据所述目标数据信息获取目标数据。
2.根据权利要求1所述的方法,其特征在于,所述数据信息为数据的索引信息。
3.根据权利要求1所述的方法,其特征在于,所述数据信息组合为bitset对象,bitset对象的名称为数据属性。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息,包括:
根据所述目标数据信息的关系确定目标数据信息间的运算类型,所述运算类型包括和运算、与运算;
根据确定的运算类型对所述目标数据信息进行运算;
根据运算的结果获取目标数据信息。
5.根据权利要求2所述的方法,其特征在于:根据所述目标数据信息获取目标数据,包括:
根据提取的数据索引信息确定数据的存储位置;
在确定的存储位置获取数据。
6.一种数据查询装置,其特征在于,包括:
查询指令获取单元,用于获取查询指令,所述查询指令中包括至少两个目标数据属性以及所述目标数据属性之间的关系;
确定单元,用于根据所述目标数据属性和所述目标数据属性之间的关系,在预存的多个数据信息组合中获取目标数据信息组合以及所述目标数据信息组合之间的关系,其中,每个数据信息组合所存储的数据信息对应的数据具有相同的属性;
提取单元,用于根据所述目标数据信息组合和所述目标数据信息组合之间的关系,获取目标数据信息;
目标数据获取单元,用于根据所述目标数据信息获取目标数据。
7.根据权利要求6所述的装置,其特征在于,所述数据信息为数据的索引信息。
8.根据权利要求6所述的装置,其特征在于,所述数据信息组合为bitset对象,bitset对象的名称为数据属性。
9.根据权利要求6所述的装置,其特征在于,所述提取单元包括:
运算关系确定单元,用于根据目标数据信息组合之间的关系确定目标数据信息组合间的运算类型,所述运算类型包括和运算、与运算;
运算单元,用于根据确定的运算类型对目标数据信息组合进行运算;
数据信息获取单元,用于根据运算的结果获取目标数据信息。
10.根据权利要求7所述的装置,其特征在于,所述目标数据获取单元,包括:
存储位置确定单元,用于根据提取的数据索引信息确定数据的存储位置;
目标数据获取子单元,用于在确定的存储位置获取数据。
CN201610114682.8A 2016-03-01 2016-03-01 一种数据查询方法及装置 Pending CN105824876A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610114682.8A CN105824876A (zh) 2016-03-01 2016-03-01 一种数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610114682.8A CN105824876A (zh) 2016-03-01 2016-03-01 一种数据查询方法及装置

Publications (1)

Publication Number Publication Date
CN105824876A true CN105824876A (zh) 2016-08-03

Family

ID=56987396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610114682.8A Pending CN105824876A (zh) 2016-03-01 2016-03-01 一种数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN105824876A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189171A (zh) * 2019-05-27 2019-08-30 北京金山安全软件有限公司 特征数据的生成方法、装置及设备
CN112434027A (zh) * 2020-10-30 2021-03-02 金蝶软件(中国)有限公司 多维度数据的索引方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140580A (zh) * 2007-09-24 2008-03-12 武汉大学 一种音乐搜索的方法
CN101216853A (zh) * 2008-01-11 2008-07-09 孟小峰 一种智能Web查询接口系统及其方法
CN102819557A (zh) * 2012-06-28 2012-12-12 用友软件股份有限公司 数据查询处理装置和数据查询处理方法
CN103049473A (zh) * 2012-10-15 2013-04-17 新浪技术(中国)有限公司 一种数据查询方法及装置
CN104424258A (zh) * 2013-08-28 2015-03-18 腾讯科技(深圳)有限公司 多维数据查询的方法、查询服务器、列存储服务器及系统
CN104462507A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 基于影视歌曲数据构建知识图谱的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140580A (zh) * 2007-09-24 2008-03-12 武汉大学 一种音乐搜索的方法
CN101216853A (zh) * 2008-01-11 2008-07-09 孟小峰 一种智能Web查询接口系统及其方法
CN102819557A (zh) * 2012-06-28 2012-12-12 用友软件股份有限公司 数据查询处理装置和数据查询处理方法
CN103049473A (zh) * 2012-10-15 2013-04-17 新浪技术(中国)有限公司 一种数据查询方法及装置
CN104424258A (zh) * 2013-08-28 2015-03-18 腾讯科技(深圳)有限公司 多维数据查询的方法、查询服务器、列存储服务器及系统
CN104462507A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 基于影视歌曲数据构建知识图谱的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189171A (zh) * 2019-05-27 2019-08-30 北京金山安全软件有限公司 特征数据的生成方法、装置及设备
CN112434027A (zh) * 2020-10-30 2021-03-02 金蝶软件(中国)有限公司 多维度数据的索引方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US11296940B2 (en) Centralized configuration data in a distributed file system
CN103049515A (zh) 一种应用程序分类的方法、装置和设备
CN103020158A (zh) 一种报表创建方法、装置和系统
US8738657B2 (en) Distribution of key values
CN111966633B (zh) 用于查询目录下子节点的方法、装置、电子设备及介质
US10909086B2 (en) File lookup in a distributed file system
CN115438087B (zh) 基于缓存库的数据查询方法、装置、存储介质和设备
CN109726295A (zh) 品牌知识图谱显示方法、装置、图服务器及存储介质
CN105354318A (zh) 一种文件查找方法及装置
CN110020272B (zh) 缓存方法、装置以及计算机存储介质
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN105824876A (zh) 一种数据查询方法及装置
CN105847320A (zh) 一种资源获取方法和装置
CN109388729A (zh) 音频子指纹的检索方法、装置以及音频查询系统
CN104243565A (zh) 获取配置数据的方法和装置
CN107220283B (zh) 数据处理方法、装置、存储介质及电子设备
US10311054B2 (en) Query data splitting
CN111125226B (zh) 一种配置数据采集方法及装置
WO2021226822A1 (zh) 日志写入方法、装置、电子设备以及存储介质
CN111274004A (zh) 进程实例管理方法、装置及计算机存储介质
US10042957B2 (en) Devices and methods for implementing dynamic collaborative workflow systems
CN111178965B (zh) 一种资源投放方法及服务器
CN108595482A (zh) 一种数据索引方法及装置
CN114385657A (zh) 数据存储方法、装置及存储介质
US20220365905A1 (en) Metadata processing method and apparatus, and a computer-readable storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160803

WD01 Invention patent application deemed withdrawn after publication