CN106326309A - 一种数据查询方法和装置 - Google Patents

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

Info

Publication number
CN106326309A
CN106326309A CN201510388093.4A CN201510388093A CN106326309A CN 106326309 A CN106326309 A CN 106326309A CN 201510388093 A CN201510388093 A CN 201510388093A CN 106326309 A CN106326309 A CN 106326309A
Authority
CN
China
Prior art keywords
data
page
checked
identification
information
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
CN201510388093.4A
Other languages
English (en)
Other versions
CN106326309B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510388093.4A priority Critical patent/CN106326309B/zh
Priority to PCT/CN2016/086870 priority patent/WO2017005094A1/zh
Publication of CN106326309A publication Critical patent/CN106326309A/zh
Application granted granted Critical
Publication of CN106326309B publication Critical patent/CN106326309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query

Landscapes

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

Abstract

本申请实施例提供了一种数据查询方法和装置。该数据查询方法包括:接收数据查询请求,所述数据查询请求中包含待查询数据信息;根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识;向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据;在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。本申请实施例通过利用数据库中的单页数据标识获得数据页信息,并依据该数据页信息可以直接获取数据库中的与待查询数据信息对应的某一页或某几页数据进行数据查询,该查询方式简化了数据查询过程,提高了数据查询效率。

Description

一种数据查询方法和装置
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据查询方法和一种数据查询装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库***都在各个方面得到了广泛的应用。而随着大型数据库的广泛应用,如何在数据库中快速进行数据查询就显得尤为重要。
在mysql这种结构化数据库中,由于主键基本上是顺序递增的,因此根据主键进行数据查询是件容易的事情。在HBASE这种半结构化存储环境中,数据以key-value的形式进行分页存储,rowkey是HBASE的存储中的key,类比mysql中的主键,通常用户以rowkey作为查询的字段。而在HBASE中,为了实现数据均衡分布,一般rowkey不会采用自增值,而是使用散列值,也即rowKey是没有规律的。因此,在该情况下,在基于rowkey进行数据查询时,只能在HBASE中一页数据一页数据的依次查找。这种查询方式,尤其在查询大量数据的情况下,耗时较长,效率太低。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能提高数据查询效率。
发明内容
本申请实施例所要解决的技术问题是提供一种数据查询方法,能提高数据查询效率。
相应的,本申请实施例还提供了一种数据查询装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请公开了一种数据查询方法,包括:
接收数据查询请求,所述数据查询请求中包含待查询数据信息;
根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识;
向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据;
在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。
进一步,获得所述数据库的数据页信息的方法,包括:
向所述数据库发送数据页信息查询请求;
接收数据页信息并将其加入内存队列,所述数据页信息中至少包括所述数据库中每页数据的单页数据标识。
进一步,所述待查询数据信息包括至少一个待查询数据的rowkey。
进一步,所述待查询数据信息包括待查询数据在数据库中的起止页;所述数据页信息中还包括与所述数据库中每页数据的单页数据标识对应的页码信息。
进一步,所述待查询数据信息包括待查询数据在数据库中的起始页及数据量;所述数据页信息中还包括与所述数据库中每页数据的单页数据标识对应的页码信息及页内数据量。
进一步,当所确定出的与所述待查询数据信息对应的单页数据标识至少为两个时,所述向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据,包括:
启用至少两个线程并行在所述内存队列中拉取与所述待查询数据信息对应的不同的单页数据标识;
占用所述至少两个线程并行向所述数据库请求所拉取的单页数据标识所对应的数据。
进一步,所述数据库为key值无规律的半结构化存储数据库。
本申请实施例还公开了一种数据查询装置,包括:
请求接收单元,被配置为接收数据查询请求,所述数据查询请求中包含待查询数据信息;
确定单元,被配置为根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识;
数据请求单元,被配置为向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据;
查询单元,被配置为在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。
进一步,所述装置还包括:
信息获取单元,被配置为获得所述数据库的数据页信息;
所述信息获取单元包括:
请求子单元,被配置为向所述数据库发送数据页信息查询请求;
存储子单元,被配置为接收数据页信息并将其加入内存队列,所述数据页信息中至少包括所述数据库中每页数据的单页数据标识。
进一步,当所述确定单元确定出的与所述待查询数据信息对应的单页数据标识至少为两个时,所述数据请求单元包括:
拉取子单元,被配置为启用至少两个线程并行在所述内存队列中拉取与所述待查询数据信息对应的不同的单页数据标识;
数据请求子单元,被配置为占用所述至少两个线程并行向所述数据库请求所拉取的单页数据标识所对应的数据。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例通过利用数据库中的单页数据标识获得数据页信息,并依据该数据页信息可以直接获取数据库中的与待查询数据信息对应的某一页或某几页数据进行数据查询,该查询方式无需在数据库中逐页进行数据查询,简化了数据查询过程,提高了数据查询效率。
附图说明
图1是本申请的一种数据查询方法实施例的步骤流程图;
图2是本申请中一种获得数据库的数据页信息的方法实施例的步骤流程图;
图3是本申请的另一种数据查询方法实施例的步骤流程图;
图4是本申请的另一种数据查询方法实施例的步骤流程图;
图5是本申请的另一种数据查询方法实施例的步骤流程图;
图6是本申请的一种数据查询装置实施例的结构框图;
图7是本申请的另一种数据查询装置实施例的结构框图;
图8是本申请中一种信息获取单元的结构框图;
图9是本申请中一种数据请求单元的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种数据查询方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,接收数据查询请求,该数据查询请求中包含待查询数据信息。
本申请实施例中,该用于查询数据的装置(以下简称该装置)接收到数据查询请求后,获取该请求中包含的待查询数据信息,该待查询数据信息可能是包括至少一个待查询数据的rowkey,需要该装置在数据库中查找到该rowkey对应的待查询数据;该待查询数据信息也可能包括待查询数据在数据库中的起止页,需要该装置在数据库中查找到该起止页之间的数据;该待查询数据信息也可以是包括待查询数据在数据库中的起始页及数据量,需要该装置在数据库中查找到该起始页之后的满足该数据量的数据。当然,该待查询数据信息还可以是包括其它用于查询数据的信息,此处不再一一列举。
步骤102,根据预先获得的数据库的数据页信息,确定出与待查询数据信息对应的单页数据标识,该数据页信息中至少包括数据库中的各单页数据标识。
该装置在执行本步骤之前,预先获得数据库的数据页信息,具体可以是该装置预先向数据库请求获得的。该数据页信息中至少包括数据库中的各单页数据标识,单页数据标识可以唯一标识其所对应的数据页,例如,在HBASE数据库中,marker为数据页的起始标识;该数据页信息中还可以包括与数据库中每页数据的单页数据标识对应的页码信息;也还可以包括与所述数据库中每页数据的单页数据标识对应的页内数据量。
在获得数据页信息后,根据待查询数据信息中包含的内容,即可确定出与待查询数据信息对应的单页数据标识,所确定出的单页数据标识可能是一个,也可以是多个,多个单页数据标识对应的数据页在数据库中可能是连续的,也可能是不连续的。
步骤103,向数据库请求与待查询数据信息对应的单页数据标识所对应的数据。
当确定出的单页数据标识是一个时,可以占用一个线程向数据库请求该单页数据标识所对应的数据,当确定出的单页数据标识是多个时,可以占用多个线程并行向数据库请求各单页数据标识对应的数据。
步骤104,在所请求到的数据中查询与待查询数据信息对应的待查询数据。
在请求到数据后,即可根据待查询数据信息查询到待查询数据。该待查询数据可能就是上步骤中请求到的数据,也可能是所请求到的数据中的部分数据。
本申请实施例通过利用数据库中的单页数据标识获得数据页信息,并依据该数据页信息可以直接获取数据库中的与待查询数据信息对应的某一页或某几页数据进行数据查询,该查询方式无需在数据库中逐页进行数据查询,简化了数据查询过程,提高了数据查询效率。
在本申请的另一实施例中,如图2所示,获得数据库的数据页信息的方法可以包括以下步骤:
步骤201,向数据库发送数据页信息查询请求。
该装置向数据库发送查询请求。数据库接收到该请求后,根据请求至少获得每页数据的单页数据标识,还可以根据请求内容获得与数据库中每页数据的单页数据标识对应的页码信息和/或页内数据量等,生成数据页信息,然后将其返回至该装置。
步骤202,接收数据页信息,并将数据页信息加入内存队列,该数据页信息中至少包括数据库中每页数据的单页数据标识。
该装置在接收到数据发送的数据页信息后,将其加入内存队列,以便于随时快速的调用。
通过获得该数据页信息,该装置可以简便快速的根据数据查询请求确定数据库中某一页或某几页数据进行数据查询,未简化数据查询过程,提高数据查询效率提供了保障。
下面分别对不同应用场景下的数据查询方法进行说明。
参照图3,示出了本申请的另一种数据查询方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301,接收数据查询请求,该数据查询请求中包含至少一个待查询数据的rowkey。
本实施例的应用场景是根据数据的rowkey进行查询。
步骤302,根据预先获得的数据库的数据页信息,确定出数据库的所有单页数据标识。
该情况下,预先获得的数据库的数据页信息中可以只包含数据库中每页数据的单页数据标识。本实施例中由于要查询具体的某一数据,而不是某一指定的数据页,所以需要对数据库中所有的数据页进行查询,本步骤确定出的单页数据标识为数据库的所有单页数据标识。
步骤303,启用至少两个线程并行在内存队列中拉取所有不同的单页数据标识。
在本步骤中需要启用多个线程,多个线程并行执行,每个线程在内存队列中拉取一个单页数据标识,不同线程拉取的单页数据标识不同。
步骤304,占用该至少两个线程并行向数据库请求所拉取的单页数据标识所对应的数据。
上步骤中每个线程在拉取单页数据标识后,并行向数据库请求所拉取的单页数据标识所对应的数据。
步骤305,在所请求到的数据中查询与待查询数据的rowkey对应的待查询数据。
上步骤中每个线程在请求到所拉取的单页数据标识对应的数据后,并行在请求道的数据中查询步骤301中的rowkey对应的待查询数据。
上述各线程并行执行,当一个线程查询结束时,该线程可以重复调用执行步骤303~305,直至拉取数据库中所有的单页数据标识。
本实施例中并行调取各数据页进行数据查询的方式,相比较现有技术中依次逐页查询的方式,大大提高了数据查询效率。
参照图4,示出了本申请的另一种数据查询方法实施例的步骤流程图,具体可以包括如下步骤:
步骤401,接收数据查询请求,该数据查询请求中包含待查询数据在数据库中的起止页。
本实施例的应用场景是查询数据库中指定数据页起止页之间的数据。该起止页也可以是同一页,也即请求数据库中某一页数据。
步骤402,根据预先获得的数据库的数据页信息,确定出数据库中该起止页之间数据页的单页数据标识,该数据页信息中包括数据库中每页数据的单页数据标识及其对应的页码信息。
在本步骤中,该装置可以根据数据库中每页数据的单页数据标识及其对应的页码信息,确定出该起止页之间的数据页的单页数据标识。
步骤403,启用至少两个线程并行在内存队列中拉取确定出的不同的单页数据标识。
如果确定出的单页数据标识只有一页,则直接启用一个线程从内存队列中拉取该单页数据标识,并向数据库请求该单页数据标识对应的数据即可。
本实施例中,当确定给出的单页数据标识有多个时,则启用至少两个线程分别在内存队列中拉取出不同的单页数据标识。
启用多个线程拉取单页数据标识的过程与前述实例中的步骤303类似。
步骤404,占用该至少两个线程并行向数据库请求所拉取的单页数据标识所对应的数据。
该过程与前述实施例中的步骤304类似,此处不再赘述。
本实施例中,步骤404所请求到的数据即为步骤401中所请求的数据库起止页之间的数据。
本实施例通过利用单页数据标识来向数据库请求对应数据,简化了数据库的操作过程,并且可以通过多个线程同时获得数据,提高了数据查询效率。
参照图5,示出了本申请的另一种数据查询方法实施例的步骤流程图,具体可以包括如下步骤:
步骤501,接收数据查询请求,该数据查询请求中包含待查询数据在数据库中的起始页及数据量。
本实施例中的应用场景是,该装置需要查询自起始页之后的达到该要求数据量的数据。
步骤502,根据预先获得的数据库的数据页信息,确定出数据库中与该起始页与数据量对应的单页数据标识,该数据页信息中包括数据库中每页数据的单页数据标识及其对应的页码信息及页内数据量。
本步骤中,根据单页数据标识对应的页码信息确定起始页对应的单页数据标识,然后根据单页数据标识对应的页内数据量及请求中包含的数据量推算起始页之后的数据页,并确定出这些数据页对应的单页数据标识。有可能请求中包含的数据量正好对应确定出的数据页内的所有数据,也有可能请求中包含的数据量小于确定出的数据页内的所有数据,例如在确定出的最后一数据页中只需查询其中的部分数据。
步骤503,启用至少两个线程并行在内存队列中拉取确定出的不同的单页数据标识。
步骤504,占用该至少两个线程并行向数据库请求所拉取的单页数据标识所对应的数据。
在确定出单页数据标识后,步骤503~504与前述实施例中的步骤403~404类似,此处不再赘述。
步骤505,在所请求到的数据中查询与待查询数据在数据库中的起始页及数据量对应的待查询数据。
当请求中包含的数据量正好对应确定出的数据页内的所有数据时,步骤504请求到的数据即为步骤501中所请求的数据。当请求中包含的数据量小于确定出的数据页内的所有数据时,例如在确定出的最后一数据页中只需查询其中的部分数据,则可以根据请求中的数据量查询获得待查询数据。
在按照上述实施例获得待查询数据后,可以进一步根据获得的数据进行数据处理,例如进行数据比对,数据备份等等。
上述方法实施例可以应用于数据库为key值无规律的半结构化存储数据库,如HBASE,其中单页数据标识为marker。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出了本申请一种数据查询装置实施例的结构框图,具体可以包括如下单元:
请求接收单元601,被配置为接收数据查询请求,所述数据查询请求中包含待查询数据信息。
确定单元602,被配置为根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识。
数据请求单元603,被配置为向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据。
查询单元604,被配置为在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。
该装置通过上述单元利用数据库中的单页数据标识获得数据页信息,并依据该数据页信息可以直接获取数据库中的与待查询数据信息对应的某一页或某几页数据进行数据查询,该装置的查询方式无需在数据库中逐页进行数据查询,简化了数据查询过程,提高了数据查询效率。
在另一实施例中,如图7所示,该装置还可以包括:
信息获取单元701,被配置为获得所述数据库的数据页信息。
该信息获取单元701,如图8所示,可以进一步包括:
请求子单元801,被配置为向所述数据库发送数据页信息查询请求。
存储子单元802,被配置为接收数据页信息并将其加入内存队列,所述数据页信息中至少包括所述数据库中每页数据的单页数据标识。
在另一实施例中,待查询数据信息可以包括至少一个待查询数据的rowkey。
在另一实施例中,待查询数据信息还可以包括待查询数据在数据库中的起止页;所述数据页信息中还包括与所述数据库中每页数据的单页数据标识对应的页码信息。
在另一实施例中,待查询数据信息还可以包括待查询数据在数据库中的起始页及数据量;所述数据页信息中还包括与所述数据库中每页数据的单页数据标识对应的页码信息及页内数据量。
在另一实施例中,当确定单元602确定出的与所述待查询数据信息对应的单页数据标识至少为两个时,如图9所示,数据请求单元603可以包括:
拉取子单元901,被配置为启用至少两个线程并行在所述内存队列中拉取与所述待查询数据信息对应的不同的单页数据标识。
数据请求子单元902,被配置为占用所述至少两个线程并行向所述数据库请求所拉取的单页数据标识所对应的数据。
上述数据库可以为key值无规律的半结构化存储数据库,如HBASE,其中单页数据标识为marker。
本申请实施例还提供了一种电子设备,包括存储器、收发器和处理器。
处理器与存储器、收发器通过总线相互连接;总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。
其中,存储器用于存储一段程序,具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
收发器用于接收数据查询请求,所述数据查询请求中包含待查询数据信息;向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据。
处理器用于读取存储器中的程序代码,执行以下步骤:
根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识;
在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数据查询方法和一种数据查询装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种数据查询方法,其特征在于,包括:
接收数据查询请求,所述数据查询请求中包含待查询数据信息;
根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识;
向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据;
在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。
2.根据权利要求1所述的方法,其特征在于,获得所述数据库的数据页信息的方法,包括:
向所述数据库发送数据页信息查询请求;
接收数据页信息并将其加入内存队列,所述数据页信息中至少包括所述数据库中每页数据的单页数据标识。
3.根据权利要求2所述的方法,其特征在于,所述待查询数据信息包括至少一个待查询数据的rowkey。
4.根据权利要求2所述的方法,其特征在于,所述待查询数据信息包括待查询数据在数据库中的起止页;所述数据页信息中还包括与所述数据库中每页数据的单页数据标识对应的页码信息。
5.根据权利要求2所述的方法,其特征在于,所述待查询数据信息包括待查询数据在数据库中的起始页及数据量;所述数据页信息中还包括与所述数据库中每页数据的单页数据标识对应的页码信息及页内数据量。
6.根据权利要求2至5中任意一项所述的方法,其特征在于,当所确定出的与所述待查询数据信息对应的单页数据标识至少为两个时,所述向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据,包括:
启用至少两个线程并行在所述内存队列中拉取与所述待查询数据信息对应的不同的单页数据标识;
占用所述至少两个线程并行向所述数据库请求所拉取的单页数据标识所对应的数据。
7.根据权利要求1至5中任意一项所述的方法,其特征在于,所述数据库为key值无规律的半结构化存储数据库。
8.一种数据查询装置,其特征在于,包括:
请求接收单元,被配置为接收数据查询请求,所述数据查询请求中包含待查询数据信息;
确定单元,被配置为根据预先获得的数据库的数据页信息,确定出与所述待查询数据信息对应的单页数据标识;所述数据页信息中至少包括所述数据库中的各单页数据标识;
数据请求单元,被配置为向所述数据库请求与所述待查询数据信息对应的单页数据标识所对应的数据;
查询单元,被配置为在所请求到的数据中查询与所述待查询数据信息对应的待查询数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
信息获取单元,被配置为获得所述数据库的数据页信息;
所述信息获取单元包括:
请求子单元,被配置为向所述数据库发送数据页信息查询请求;
存储子单元,被配置为接收数据页信息并将其加入内存队列,所述数据页信息中至少包括所述数据库中每页数据的单页数据标识。
10.根据权利要求8或9所述的装置,其特征在于,当所述确定单元确定出的与所述待查询数据信息对应的单页数据标识至少为两个时,所述数据请求单元包括:
拉取子单元,被配置为启用至少两个线程并行在所述内存队列中拉取与所述待查询数据信息对应的不同的单页数据标识;
数据请求子单元,被配置为占用所述至少两个线程并行向所述数据库请求所拉取的单页数据标识所对应的数据。
CN201510388093.4A 2015-07-03 2015-07-03 一种数据查询方法和装置 Active CN106326309B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510388093.4A CN106326309B (zh) 2015-07-03 2015-07-03 一种数据查询方法和装置
PCT/CN2016/086870 WO2017005094A1 (zh) 2015-07-03 2016-06-23 一种数据查询方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510388093.4A CN106326309B (zh) 2015-07-03 2015-07-03 一种数据查询方法和装置

Publications (2)

Publication Number Publication Date
CN106326309A true CN106326309A (zh) 2017-01-11
CN106326309B CN106326309B (zh) 2020-02-21

Family

ID=57684666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510388093.4A Active CN106326309B (zh) 2015-07-03 2015-07-03 一种数据查询方法和装置

Country Status (2)

Country Link
CN (1) CN106326309B (zh)
WO (1) WO2017005094A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656980A (zh) * 2018-12-27 2019-04-19 Oppo(重庆)智能科技有限公司 数据处理方法、电子设备、装置及可读存储介质
CN110019274A (zh) * 2017-12-29 2019-07-16 阿里巴巴集团控股有限公司 一种数据库***以及查询数据库的方法和装置
CN110019213A (zh) * 2017-12-04 2019-07-16 北京京东尚科信息技术有限公司 数据管理方法、装置、电子设备及存储介质
CN111427885A (zh) * 2020-03-03 2020-07-17 中科驭数(北京)科技有限公司 基于查找表的数据库管理方法和装置
TWI710919B (zh) * 2019-02-02 2020-11-21 開曼群島商創新先進技術有限公司 資料儲存裝置、轉譯裝置及資料庫存取方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408532B (zh) * 2018-09-26 2023-12-19 平安科技(深圳)有限公司 数据获取方法、装置、计算机设备和存储介质
CN111459949B (zh) * 2019-01-18 2023-12-19 阿里巴巴集团控股有限公司 针对数据库的数据处理方法、装置及设备和索引更新方法
CN110765132A (zh) * 2019-10-22 2020-02-07 北京思特奇信息技术股份有限公司 一种基于HBase的数据存储、检索方法及装置
CN112100245B (zh) * 2020-09-18 2024-05-31 咪咕文化科技有限公司 数据导出方法、装置、电子设备和存储介质
CN112182040A (zh) * 2020-09-30 2021-01-05 深圳前海微众银行股份有限公司 数据查询方法、装置、设备和存储介质
CN112866339B (zh) * 2020-12-30 2022-12-06 金蝶软件(中国)有限公司 数据传输方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375852A (zh) * 2010-08-24 2012-03-14 ***通信集团公司 建立数据索引的方法、利用该索引查询数据的方法和***
CN103488720A (zh) * 2013-09-12 2014-01-01 金蝶软件(中国)有限公司 一种数据查看方法、***和客户端
CN103514214A (zh) * 2012-06-28 2014-01-15 深圳中兴网信科技有限公司 数据查询方法及装置
CN103617232A (zh) * 2013-11-26 2014-03-05 北京京东尚科信息技术有限公司 一种针对HBase表的分页查询方法
CN104102710A (zh) * 2014-07-15 2014-10-15 浪潮(北京)电子信息产业有限公司 一种海量数据查询方法
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN104750681A (zh) * 2013-12-25 2015-07-01 ***通信集团辽宁有限公司 一种海量数据的处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7158996B2 (en) * 2003-01-27 2007-01-02 International Business Machines Corporation Method, system, and program for managing database operations with respect to a database table
US7461060B2 (en) * 2005-10-04 2008-12-02 International Business Machines Corporation Generalized partition pruning in a database system
CN101876983B (zh) * 2009-04-30 2012-11-28 国际商业机器公司 数据库分区方法与***
CN102725753B (zh) * 2011-11-28 2014-01-01 华为技术有限公司 优化数据访问的方法及装置、优化数据存储的方法及装置
CN102799628B (zh) * 2012-06-21 2015-10-07 新浪网技术(中国)有限公司 在key-value数据库中进行数据分区的方法和装置
CN103593436B (zh) * 2013-11-12 2017-02-08 华为技术有限公司 文件合并方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375852A (zh) * 2010-08-24 2012-03-14 ***通信集团公司 建立数据索引的方法、利用该索引查询数据的方法和***
CN103514214A (zh) * 2012-06-28 2014-01-15 深圳中兴网信科技有限公司 数据查询方法及装置
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN103488720A (zh) * 2013-09-12 2014-01-01 金蝶软件(中国)有限公司 一种数据查看方法、***和客户端
CN103617232A (zh) * 2013-11-26 2014-03-05 北京京东尚科信息技术有限公司 一种针对HBase表的分页查询方法
CN104750681A (zh) * 2013-12-25 2015-07-01 ***通信集团辽宁有限公司 一种海量数据的处理方法及装置
CN104102710A (zh) * 2014-07-15 2014-10-15 浪潮(北京)电子信息产业有限公司 一种海量数据查询方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019213A (zh) * 2017-12-04 2019-07-16 北京京东尚科信息技术有限公司 数据管理方法、装置、电子设备及存储介质
CN110019274A (zh) * 2017-12-29 2019-07-16 阿里巴巴集团控股有限公司 一种数据库***以及查询数据库的方法和装置
CN110019274B (zh) * 2017-12-29 2023-09-26 阿里巴巴集团控股有限公司 一种数据库***以及查询数据库的方法和装置
CN109656980A (zh) * 2018-12-27 2019-04-19 Oppo(重庆)智能科技有限公司 数据处理方法、电子设备、装置及可读存储介质
TWI710919B (zh) * 2019-02-02 2020-11-21 開曼群島商創新先進技術有限公司 資料儲存裝置、轉譯裝置及資料庫存取方法
US10853363B2 (en) 2019-02-02 2020-12-01 Alibaba Group Holding Limited Data storage apparatus, translation apparatus, and database access method
US11226961B2 (en) 2019-02-02 2022-01-18 Beijing Oceanbase Technology Co., Ltd. Data storage apparatus, translation apparatus, and database access method
US11797533B2 (en) 2019-02-02 2023-10-24 Beijing Oceanbase Technology Co., Ltd. Data storage apparatus, translation apparatus, and database access method
CN111427885A (zh) * 2020-03-03 2020-07-17 中科驭数(北京)科技有限公司 基于查找表的数据库管理方法和装置

Also Published As

Publication number Publication date
WO2017005094A1 (zh) 2017-01-12
CN106326309B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN106326309A (zh) 一种数据查询方法和装置
CN106407207B (zh) 一种实时新增数据更新方法和装置
CN112287182A (zh) 图数据存储、处理方法、装置及计算机存储介质
CN107066498B (zh) 键值kv存储方法和装置
CN104809183B (zh) 一种数据读取及写入的方法和装置
CN110413634A (zh) 数据查询方法、***、装置及计算机可读存储介质
CN108932257A (zh) 多维度数据的查询方法及装置
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
CN105677904B (zh) 基于分布式文件***的小文件存储方法及装置
WO2017161540A1 (zh) 数据查询的方法、数据对象的存储方法和数据***
CN110704418A (zh) 区块链信息查询方法、装置和设备
CN110019048A (zh) 基于MongoDB的文件处理方法、装置、***及服务器
CN112632079B (zh) 一种数据流标识的查询方法及装置
CN108021333A (zh) 随机读写数据的***、装置及方法
CN104423982A (zh) 请求的处理方法和处理设备
CN107423037A (zh) 应用程序接口定位方法及设备
CN108153776A (zh) 数据查询方法及装置
CN107784073B (zh) 一种本地缓存的数据查询方法、存储介质和服务器
CN108399175B (zh) 一种数据存储、查询方法及其装置
CN105468644A (zh) 一种用于在数据库中进行查询的方法与设备
CN107239568B (zh) 分布式索引实现方法及装置
CN110019357B (zh) 数据库查询脚本生成方法及装置
CN112650748A (zh) 业务线索分配方法、装置、电子设备及可读存储介质
CN106294700A (zh) 一种日志的存储与读取方法及装置
CN108121733B (zh) 一种数据的查询方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant