CN103186542A - 一种数据查询的方法及装置 - Google Patents
一种数据查询的方法及装置 Download PDFInfo
- Publication number
- CN103186542A CN103186542A CN2011104450780A CN201110445078A CN103186542A CN 103186542 A CN103186542 A CN 103186542A CN 2011104450780 A CN2011104450780 A CN 2011104450780A CN 201110445078 A CN201110445078 A CN 201110445078A CN 103186542 A CN103186542 A CN 103186542A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- data block
- microblogging
- index
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种数据查询的方法及装置,涉及通信网络技术领域,可以节约用户查询数据的时间,提高系统性能。本发明实施例提供的方案,通过接收用户发送的查询请求消息,根据所述查询请求消息中的微群标识通过一级索引查询获得二级索引的地址,根据所述二级索引的地址,查询获得数据块的地址;根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。本发明实施例提供的方案适合查询微博数据时采用。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种数据查询的方法及装置。
背景技术
用户在微群中发表的内容按时间倒排,这里微群指在微博中,为不同用户群提供交流沟通的平台。当用户访问微群中发表的内容时,每次用户查询或者翻页查看,都会以用户查询或者访问的时间为查询条件,然后根据查询条件获取更旧或者更新的数据,依次获得用户所需查询的内容。
现有技术在缓存中采取一级索引的方式进行缓存,根据用户发送的请求消息中的微群标识命中索引层,再读取命中的索引层的内容,获取数据块的地址,根据数据块的地址可以读取数据。当查询到的数据的发表时间与请求消息中携带的时间不匹配时,继续读取更多的数据块,指导查询到合适的数据。
然而,根据现有技术进行查询数据时,当缓存为M个数据块时,用户的一个查询最差需要查询M次,才能找到用户所需的数据,浪费用户较多的时间。
发明内容
本发明的实施例提供一种数据查询的方法及装置,可以节约用户查询数据的时间,提高系统性能。
为达到上述目的,本发明的实施例采用如下技术方案:
一种数据查询的方法,包括:
接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
根据所述微群标识通过一级索引查询获得二级索引的地址;
根据所述二级索引的地址,查询获得数据块的地址;
根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
一种数据查询的装置,包括:
接收单元,用于接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
第一查询获取单元,用于根据所述微群标识通过一级索引查询获得二级索引的地址;
第二查询获取单元,用于根据所述二级索引的地址,查询获得数据块的地址;
获取数据单元,用于根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
本发明实施例提供一种数据查询的方法及装置,通过接收用户发送的查询请求消息,根据所述查询请求消息中的微群标识通过一级索引查询获得二级索引的地址,根据所述二级索引的地址,查询获得数据块的地址;根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。与现有技术中进行查询数据时,当缓存为M个数据块时,用户的一个查询最差需要查询M次,才能找到用户所需的数据,浪费用户较多的时间相比,本发明实施例提供的方案可以节约用户查询数据的时间,提高系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种数据查询的方法的流程图;
图2为本发明实施例1提供的一种数据查询的装置的框图;
图3为本发明实施例2提供的一种数据查询的方法的流程图;
图4为本发明实施例2提供的一种数据查询的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种数据查询的方法,如图1所示,该方法包括:
步骤101,接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
进一步地,所述查询请求消息中还包括待查询微博的发表时间。
微群为微博中,一群人自发加入组成的小圈子,可以选择将部分内容分享给自己的微博听众,以便进行内部交流。
步骤102,根据所述微群标识通过一级索引查询获得二级索引的地址;
进一步地,首先根据所述微群标识查询到一级索引的地址,再根据所述一级索引的地址,读取所述一级索引的地址对应的内容,获得二级索引的地址。
步骤103,根据所述二级索引的地址,查询获得数据块的地址;
进一步地,所述根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间。所述二级索引中存储数据块的地址,数据块中的微博数据的最新时间和最早时间。
步骤104,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
进一步地,当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
本发明实施例提供一种数据查询的方法,通过接收用户发送的查询请求消息,根据所述查询请求消息中的微群标识通过一级索引查询获得二级索引的地址,根据所述二级索引的地址,查询获得数据块的地址;根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。与现有技术中进行查询数据时,当缓存为M个数据块时,用户的一个查询最差需要查询M次,才能找到用户所需的数据,浪费用户较多的时间相比,本发明实施例提供的方案可以节约用户查询数据的时间,提高系统性能。
本发明实施例提供一种数据查询的装置,如图2所示,该方法包括:接收单元201,第一查询获取单元202,第二查询获取单元203,获取数据单元204;
接收单元201,用于接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
在接收到用户发送的微群标识后,第一查询获取单元202,用于根据所述微群标识通过一级索引查询获得二级索引的地址;
根据所述二级索引的地址,第二查询获取单元203查询获得数据块的地址;
根据所述数据块的地址,获取数据单元204,读取所述数据块的地址对应的内容,获得待查询微博的数据。
本发明实施例提供一种数据查询的装置,通过根据接收单元接收到的用户发送的查询请求消息中的微群标识,第一查询获取单元通过一级索引查询获得二级索引的地址,根据所述二级索引的地址,第二查询获取单元查询获得数据块的地址;获取数据单元根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。与现有技术中进行查询数据时,当缓存为M个数据块时,用户的一个查询最差需要查询M次,才能找到用户所需的数据,浪费用户较多的时间相比,本发明实施例提供的方案可以节约用户查询数据的时间,提高系统性能。
实施例2
本发明实施例提供一种数据查询的方法,如图3所示,该方法包括:
步骤301,接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
微群为在微博中,一群人自发加入组成的小圈子,可以选择将部分内容分享给自己的微博听众,以便进行内部交流。
需要说明的是,在进行查询时,可以通过KEY取查询,具体地,KEY可以是按照应用的需求进行设定,在本发明中KEY可以为微群的ID(Identity,身份标识号码,可以简称为标识)。
另外,所述查询请求消息中还包括待查询微博的发表时间。在每次用户查询或者翻页时,都会携带一个时间作为查询条件,这个时间是翻页时当前页面中最后一个微博ID的发表时间。
步骤302,根据所述微群标识查询到一级索引的地址;
一级索引采用哈希表存储,通过微群标识可以实现快速查找一级索引的地址的目的。其中一级索引存储二级索引的地址ID。
步骤303,根据所述一级索引的地址,读取所述一级索引的地址对应的内容,获得二级索引的地址;
一级索引的地址对应的内容即为二级索引的地址ID,其中二级索引的地址ID可以为一个整型数值,具体地可以用0、1、2......表示地址ID。
步骤304,根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间;
二级索引块可以缓存多个数据块,每个二级索引块用于描述一个数据块的信息组合,也可以多个二级索引块合并为长链存储,具体地,二级索引块中保存一个数据块的地址、此数据块中存储的微博数据的最新时间和最早时间。
步骤305,判断所述待查询微博的发表时间是否位于所述数据块中存储的微博数据的最新时间和最早时间之内;
通过待查询微博的发表时间和二级索引块中保存的时间的对比,可以确定是否能一次查询到待查询的微博数据。
步骤306,当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据;
数据块中保存微群发表的数据,一个数据块中可以保存M个微博数据,其中,每个微博消息的ID可以用整型数据表示,例如M个微博消息的ID可以用0、1......(M-1)表示,或者M个微博消息的ID可以用1、2......M表示。
步骤307,当所述待查询微博的发表时间没有位于所述数据块中存储的微博数据的最新时间和最早时间之内时,检索整个数据块,如果没有查找到,则返回失败的消息。
需要说明的是,通常情况下,采用本发明提供的方法,通过一个查询请求,读取二级索引内容后,就可以确定数据块的ID,从而可以直接读取待查询的微博数据。
当微博数据增加到X(X>M)时,采用现有技术中一级索引的方式,需要将X条微博数据分成X/M个数据块存储,此时,需要把X/M个数据块逐块读取;而采用二级索引时,需要将X条微博数据分成X/M个数据块存储,此时,只需要比对索引的时间,就可以定位到数据块,然后可以直接读取数据块的内容。
本发明实施例提供一种数据查询的方法,通过接收用户发送的查询请求消息,根据所述查询请求消息中的微群标识通过一级索引查询获得二级索引的地址,根据所述二级索引的地址,查询获得数据块的地址;根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。与现有技术中进行查询数据时,当缓存为M个数据块时,用户的一个查询最差需要查询M次,才能找到用户所需的数据,浪费用户较多的时间相比,本发明实施例提供的方案可以节约用户查询数据的时间,提高查询效率,并且提高系统性能。
本发明实施例提供一种数据查询的装置,如图4所示,该方法包括:接收单元401,第一查询获取单元402,查询模块4021,获取模块4022,第二查询获取单元403,获取数据单元404。
接收单元401,用于接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;所述查询请求消息中还包括待查询微博的发表时间;
微群为微博中,一群人自发加入组成的小圈子,可以选择将部分内容分享给自己的微博听众,以便进行内部交流。
第一查询获取单元402,用于根据所述微群标识通过一级索引查询获得二级索引的地址;
具体地,在获取二级索引的地址时,第一查询获取单元402中的查询模块4021,用于根据所述微群标识查询到一级索引的地址;
根据所述一级索引的地址,第一查询获取单元402中的获取模块4022读取所述一级索引的地址对应的内容,获得二级索引的地址;一级索引的地址对应的内容即为二级索引的地址;
在获得二级索引的地址后,根据所述二级索引的地址,第二查询获取单元403查询获得数据块的地址;具体地,根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间;所述二级索引的地址对应的内容即为数据块的地址、数据块中存储的微博数据的最新时间和最早时间;
根据所述数据块的地址,获取数据单元404,读取所述数据块的地址对应的内容,获得待查询微博的数据;具体地,当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
本发明实施例提供一种数据查询的装置,通过接收单元接收用户发送的查询请求消息,第一查询获取单元根据所述查询请求消息中的微群标识通过一级索引查询获得二级索引的地址,第二查询获取单元根据所述二级索引的地址,查询获得数据块的地址;获取数据单元根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。与现有技术中进行查询数据时,当缓存为M个数据块时,用户的一个查询最差需要查询M次,才能找到用户所需的数据,浪费用户较多的时间相比,本发明实施例提供的方案可以节约用户查询数据的时间,提高查询效率,并且提高系统性能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据查询的方法,其特征在于,包括:
接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
根据所述微群标识通过一级索引查询获得二级索引的地址;
根据所述二级索引的地址,查询获得数据块的地址;
根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
2.根据权利要求1所述的数据查询的方法,其特征在于,所述查询请求消息中还包括待查询微博的发表时间。
3.根据权利要求1所述的数据查询的方法,其特征在于,所述根据所述微群标识通过一级索引查询获得二级索引的地址包括:
根据所述微群标识查询到一级索引的地址;
根据所述一级索引的地址,读取所述一级索引的地址对应的内容,获得二级索引的地址。
4.根据权利要求1所述的数据查询的方法,其特征在于,所述根据所述二级索引的地址,查询获得数据块的地址包括:
根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间。
5.根据权利要求2或4所述的数据查询的方法,其特征在于,所述根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据包括:
当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
6.一种数据查询的装置,其特征在于,包括:
接收单元,用于接收用户发送的查询请求消息,所述查询请求消息中包括微群标识;
第一查询获取单元,用于根据所述微群标识通过一级索引查询获得二级索引的地址;
第二查询获取单元,用于根据所述二级索引的地址,查询获得数据块的地址;
获取数据单元,用于根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
7.根据权利要求6所述的数据查询的装置,其特征在于,所述查询请求消息中还包括待查询微博的发表时间。
8.根据权利要求6所述的数据查询的装置,其特征在于,所述第一查询获得单元包括:
查询模块,用于根据所述微群标识查询到一级索引的地址;
获取模块,用于根据所述一级索引的地址,读取所述一级索引的地址对应的内容,获得二级索引的地址。
9.根据权利要求6所述的数据查询的装置,其特征在于,所述第二查询获取单元具体用于:
根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间。
10.根据权利要求7或9所述的数据查询的装置,其特征在于,所述获取数据单元具体用于:
当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110445078.0A CN103186542B (zh) | 2011-12-27 | 2011-12-27 | 数据查询的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110445078.0A CN103186542B (zh) | 2011-12-27 | 2011-12-27 | 数据查询的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186542A true CN103186542A (zh) | 2013-07-03 |
CN103186542B CN103186542B (zh) | 2017-09-12 |
Family
ID=48677711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110445078.0A Active CN103186542B (zh) | 2011-12-27 | 2011-12-27 | 数据查询的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186542B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224609A (zh) * | 2015-09-07 | 2016-01-06 | 北京金山安全软件有限公司 | 一种索引查询方法及装置 |
CN110569398A (zh) * | 2019-09-09 | 2019-12-13 | 广州虎牙科技有限公司 | 数据处理方法、装置、计算机设备和可读存储介质 |
CN110569397A (zh) * | 2019-09-06 | 2019-12-13 | 百度在线网络技术(北京)有限公司 | 网络社区的信息查询方法、装置、设备及存储介质 |
CN111338986A (zh) * | 2020-03-13 | 2020-06-26 | 北京艾克斯特科技有限公司 | 一种三维模型数据结构、创建及数据获取方法 |
CN111506570A (zh) * | 2020-03-05 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 数据存储及查询方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763312A (zh) * | 2009-09-15 | 2010-06-30 | 苏州超锐微电子有限公司 | 一种基于二级索引改善Flash数据存取的方法 |
CN102088620A (zh) * | 2010-12-01 | 2011-06-08 | 中兴通讯股份有限公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
CN102129474A (zh) * | 2011-04-20 | 2011-07-20 | 杭州华三通信技术有限公司 | 一种视频数据检索方法及其装置和系统 |
CN102193917A (zh) * | 2010-03-01 | 2011-09-21 | 中国移动通信集团公司 | 一种数据处理和查询方法和装置 |
US20110246475A1 (en) * | 2010-03-30 | 2011-10-06 | Private Access, Inc. | System and method for locating and retrieving private information on a network |
-
2011
- 2011-12-27 CN CN201110445078.0A patent/CN103186542B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763312A (zh) * | 2009-09-15 | 2010-06-30 | 苏州超锐微电子有限公司 | 一种基于二级索引改善Flash数据存取的方法 |
CN102193917A (zh) * | 2010-03-01 | 2011-09-21 | 中国移动通信集团公司 | 一种数据处理和查询方法和装置 |
US20110246475A1 (en) * | 2010-03-30 | 2011-10-06 | Private Access, Inc. | System and method for locating and retrieving private information on a network |
CN102088620A (zh) * | 2010-12-01 | 2011-06-08 | 中兴通讯股份有限公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
CN102129474A (zh) * | 2011-04-20 | 2011-07-20 | 杭州华三通信技术有限公司 | 一种视频数据检索方法及其装置和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224609A (zh) * | 2015-09-07 | 2016-01-06 | 北京金山安全软件有限公司 | 一种索引查询方法及装置 |
CN105224609B (zh) * | 2015-09-07 | 2018-09-14 | 北京金山安全软件有限公司 | 一种索引查询方法及装置 |
CN110569397A (zh) * | 2019-09-06 | 2019-12-13 | 百度在线网络技术(北京)有限公司 | 网络社区的信息查询方法、装置、设备及存储介质 |
CN110569398A (zh) * | 2019-09-09 | 2019-12-13 | 广州虎牙科技有限公司 | 数据处理方法、装置、计算机设备和可读存储介质 |
CN111506570A (zh) * | 2020-03-05 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 数据存储及查询方法、装置、电子设备及存储介质 |
CN111338986A (zh) * | 2020-03-13 | 2020-06-26 | 北京艾克斯特科技有限公司 | 一种三维模型数据结构、创建及数据获取方法 |
CN111338986B (zh) * | 2020-03-13 | 2023-08-04 | 北京艾克斯特科技有限公司 | 一种获取三维模型数据结构中数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103186542B (zh) | 2017-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544261B (zh) | 一种海量结构化日志数据全局索引管理方法及装置 | |
CN101594319B (zh) | 表项查找方法和装置 | |
CN105224609B (zh) | 一种索引查询方法及装置 | |
CN102137145B (zh) | 分布式内容管理的方法、装置及系统 | |
CN108255958A (zh) | 数据查询方法、装置和存储介质 | |
CN103701957A (zh) | Dns递归方法及其系统 | |
US20100312749A1 (en) | Scalable lookup service for distributed database | |
RU2009140391A (ru) | Идентификация и сопоставление сообщений электронной почты | |
CN103186542A (zh) | 一种数据查询的方法及装置 | |
CN103873451A (zh) | 一种数据同步的方法、设备和系统 | |
CN105159845A (zh) | 存储器读取方法 | |
CN103326925B (zh) | 一种消息推送方法及装置 | |
CN102333130A (zh) | 一种访问缓存服务器的方法、系统及缓存智能调度器 | |
CN105721538A (zh) | 数据访问的方法和装置 | |
CN106681995B (zh) | 数据缓存方法、数据查询方法及装置 | |
CN102622434A (zh) | 数据存储方法、查找方法及装置 | |
CN109521962A (zh) | 一种元数据查询方法、装置、设备及计算机可读存储介质 | |
CN105338073A (zh) | 一种文件目录的处理方法、服务器和系统 | |
CN103077208A (zh) | 统一资源定位符匹配处理方法及装置 | |
CN112148731B (zh) | 一种数据分页查询方法、装置及存储介质 | |
CN102571936B (zh) | 数据查找的方法、装置及系统 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
CN105912696A (zh) | 一种基于对数归并的dns索引创建方法及查询方法 | |
CN102572011A (zh) | 数据处理方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |