一种数据查询的方法及装置的制作方法

文档序号:6443545阅读:105来源:国知局
专利名称:一种数据查询的方法及装置的制作方法
技术领域
本发明涉及通信网络技术领域,尤其涉及一种数据查询的方法及装置。
背景技术
用户在微群中发表的内容按时间倒排,这里微群指在微博中,为不同用户群提供交流沟通的平台。当用户访问微群中发表的内容时,每次用户查询或者翻页查看,都会以用户查询或者访问的时间为查询条件,然后根据查询条件获取更旧或者更新的数据,依次获得用户所需查询的内容。现有技术在缓存中采取一级索引的方式进行缓存,根据用户发送的请求消息中的微群标识命中索引层,再读取命中的索引层的内容,获取数据块的地址,根据数据块的地址可以读取数据。当查询到的数据的发表时间与请求消息中携带的时间不匹配时,继续读取更多的数据块,指导查询到合适的数据。然而,根据现有技术进行查询数据时,当缓存为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次,才能找到用户所需的数据,浪费用户较多的时间相比,本发明实施例提供的方案可以节约用户查询数据的时间,提高查询效率,并且提高系统性能。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种数据查询的方法,其特征在于,包括: 接收用户发送的查询请求消息,所述查询请求消息中包括微群标识; 根据所述微群标识通过一级索引查询获得二级索引的地址; 根据所述二级索引的地址,查询获得数据块的地址; 根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
2.根据权利要求1所述的数据查询的方法,其特征在于,所述查询请求消息中还包括待查询微博的发表时间。
3.根据权利要求1所述的数据查询的方法,其特征在于,所述根据所述微群标识通过一级索引查询获得二级索引的地址包括: 根据所述微群标识查询到一级索引的地址; 根据所述一级索引的地址,读取所述一级索引的地址对应的内容,获得二级索引的地址。
4.根据权利要求1所述的数据查询的方法,其特征在于,所述根据所述二级索引的地址,查询获得数据块的地址包括: 根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间。
5.根据权利要求2或4所述的数据查询的方法,其特征在于,所述根据所述数据块的地址,读取所述数据块的地 址对应的内容,获得待查询微博的数据包括: 当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
6.一种数据查询的装置,其特征在于,包括: 接收单元,用于接收用户发送的查询请求消息,所述查询请求消息中包括微群标识; 第一查询获取单元,用于根据所述微群标识通过一级索引查询获得二级索引的地址; 第二查询获取单元,用于根据所述二级索引的地址,查询获得数据块的地址; 获取数据单元,用于根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。
7.根据权利要求6所述的数据查询的装置,其特征在于,所述查询请求消息中还包括待查询微博的发表时间。
8.根据权利要求6所述的数据查询的装置,其特征在于,所述第一查询获得单元包括: 查询模块,用于根据所述微群标识查询到一级索引的地址; 获取模块,用于根据所述一级索引的地址,读取所述一级索引的地址对应的内容,获得二级索引的地址。
9.根据权利要求6所述的数据查询的装置,其特征在于,所述第二查询获取单元具体用于: 根据所述二级索引的地址,读取所述二级索引的地址对应的内容,查询获得数据块的地址、数据块中存储的微博数据的最新时间和最早时间。
10.根据权利要求7或9所述的数据查询的装置,其特征在于,所述获取数据单元具体用于:当所述待查询微博的发表时间位于所述数据块中存储的微博数据的最新时间和最早时间之内时,根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博 的数据。
全文摘要
本发明公开一种数据查询的方法及装置,涉及通信网络技术领域,可以节约用户查询数据的时间,提高系统性能。本发明实施例提供的方案,通过接收用户发送的查询请求消息,根据所述查询请求消息中的微群标识通过一级索引查询获得二级索引的地址,根据所述二级索引的地址,查询获得数据块的地址;根据所述数据块的地址,读取所述数据块的地址对应的内容,获得待查询微博的数据。本发明实施例提供的方案适合查询微博数据时采用。
文档编号G06F17/30GK103186542SQ201110445078
公开日2013年7月3日 申请日期2011年12月27日 优先权日2011年12月27日
发明者舒军, 熊欢, 田明, 史业政 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1