数据查询的方法、设备及系统的制作方法

文档序号:6499111阅读:118来源:国知局
数据查询的方法、设备及系统的制作方法
【专利摘要】本发明公开了一种数据查询的方法、设备及系统,涉及网络【技术领域】,能够解决数据查询设备前后生成的两页查询记录中存在重复记录的问题。本发明的方法包括:接收数据查询请求,数据查询请求中携带有查询条件、查询开始时间以及单页显示条数;根据查询条件进行查询,获取第一查询记录,并根据时间签对第一查询记录进行排序;从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录;从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中特定记录的记录标识;将特定记录的记录标识和一页查询记录发送给用户设备。本发明主要应用于对查询记录进行分页。
【专利说明】数据查询的方法、设备及系统【技术领域】
[0001]本发明涉及网络【技术领域】,尤其涉及一种数据查询的方法、设备及系统。
【背景技术】
[0002]在数据查询的过程中,数据查询设备接收用户设备发送的查询请求并向用户设备反馈查询结果。当查询结果中包含多条记录时,数据查询设备将多条记录进行分页处理,在每一页上显示一定数量的记录,然后根据用户设备的请求向用户设备按页反馈查询记录。
[0003]通常,数据查询设备在接收到查询请求后,根据查询请求搜索符合查询条件的记录,按照特定的时间顺序对记录进行排序并对排序好的记录依次进行编号。然后从编号为I的记录开始,依次取出特定数量的记录生成一页查询记录,提供给用户设备。当用户设备请求第二页查询记录时,数据查询设备重新根据前次的查询条件搜索记录,对搜索到的记录再次进行排序和编号,然后从前一页最后一条记录的编号之后开始,依次取出特定数量的记录生成第二页查询记录,提供给用户设备。
[0004]在上述数据查询的过程中,数据查询设备在用户设备每请求一页查询记录时均会根据相同的查询条件再搜索一遍记录,并对搜索到的记录再次进行排序和编号。在用户设备请求某一页查询记录时,如果数据查询设备搜索到新增记录,则已有记录的编号会与在用户设备请求前一页查询记录时该记录的编号不一致。由于数据查询设备按照记录编号对记录顺序进行分页,所 以当某些记录在前后两次排序中编号不一致时,会导致数据查询设备前后生成的两页查询记录中出现重复记录的情况。

【发明内容】

[0005]本发明提供一种数据查询的方法、设备及系统,能够解决数据查询设备前后生成的两页查询记录中存在重复记录的问题。
[0006]第一方面,本发明实施例提供了一种数据查询的方法,包括:
[0007]接收数据查询请求,所述数据查询请求中携带有查询条件、查询开始时间以及单页显示条数;
[0008]根据所述查询条件进行查询,获取第一查询记录,并根据时间签对所述第一查询记录进行排序;
[0009]从排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第
二查询记录;
[0010]从所述第二查询记录中时间签与所述查询开始时间最近的记录开始,依次取出所述单页显示条数的记录作为一页查询记录,并获取所述一页查询记录中特定记录的记录标识,所述特定记录为第一条记录或者最后一条记录;
[0011]将所述特定记录的记录标识和所述一页查询记录一起发送给用户设备。
[0012]第二方面,本发明实施例还提供了一种数据查询设备,包括:
[0013]接收单元,用于接收数据查询请求,所述数据查询请求中携带有查询条件、查询开始时间以及单页显示条数;
[0014]查询单元,用于根据所述数据查询请求中的所述查询条件进行查询,获取第一查询记录;
[0015]排序单元,用于根据时间签对所述查询单元查询到的所述第一查询记录进行排序;
[0016]选择单元,用于从所述排序单元排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第二查询记录;
[0017]生成单元,用于从所述选择单元选择的所述第二查询记录中时间签与所述查询开始时间最近的记录开始,依次取出所述单页显示条数的记录作为一页查询记录;
[0018]获取单元,用于从所述生成单元生成的所述一页查询记录中获取特定记录的记录标识,所述特定记录为第一条记录或者最后一条记录;
[0019]发送单元,用于将所述获取单元获取的所述特定记录的记录标识和所述生成单元生成的所述一页查询记录一起发送给用户设备。
[0020]第三方面,本发明实施例还提供了一种数据查询的系统,包括数据查询设备以及用户设备,其中,
[0021]所述用户设备,用于向所述数据查询设备发送数据查询请求,在所述数据查询请求中携带查询条件、查询开始时间以及单页显示条数;
[0022]所述数据查询设备,用于接收数据查询请求,根据所述查询条件进行查询,获取第一查询记录,并根据时间签对所述第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第二查询记录,从所述第二查询记录中时间签与所述查询开始时间最近的记录开始,依次取出所述单页显示条数的记录作为一页查询记录,并获取所述一页查询记录中特定记录的记录标识,所述特定记录为第一条记录或者最后一条记录,将所述特定记录的记录标识和所述一页查询记录一起发送给所述用户设备;
[0023]所述用户设备还用于,接收所述数据查询设备发送的所述特定记录的记录标识和所述一页查询记录,并在下次查询时将所述特定记录的记录标识发送给所述数据查询设备,其中所述最后一条记录的记录标识为下一页查询记录查询起点,所述第一条记录的记录标识为上一页查询记录的查询起点。
[0024]本发明实施例提供的数据查询的方法、设备及系统,能够根据查询条件获取第一查询记录并根据记录的时间签对第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录,然后从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中的特定记录的记录标识,将特定记录的记录标识和一页查询记录一起发送给用户设备。由于记录标识与记录之间具有一一对应的关系,同一条记录的记录标识不会因新增记录而发生改变,所以与现有技术中根据记录编号及特定数量对记录进行分页相比,可以在多页查询记录中顺序生成各条记录,避免前后生成的两页查询记录中存在重复记录。
【专利附图】

【附图说明】[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本发明实施例中数据查询的方法流程图;
[0027]图2(a)至图2(e)为本发明实施例中第一组记录分页的示意图;
[0028]图3(a)至图3(d)为本发明实施例中第二组记录分页的示意图;
[0029]图4(a)至图4(d)为本发明实施例中第三组记录分页的示意图;
[0030]图5(a)至图5(d)为现有技术中记录分页的示意图;
[0031]图6为本发明实施例中另一个数据查询的方法流程图;
[0032]图7(a)至图7(d)为本发明实施例中第四组记录分页的示意图;
[0033]图8(a)至图8(d)为本发明实施例中第五组记录分页的示意图;
[0034]图9为本发明实施例中第一个数据查询设备的结构示意图;
[0035]图10为本发明实施例中第二个数据查询设备的结构示意图;
[0036]图11为本发明实施例中第三个数据查询设备的结构示意图;
[0037]图12为本发明实施例中数据查询的系统的示意图。
【具体实施方式】
[0038]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]本发明实施例提供了一种数据查询的方法,如图1所示,所述方法包括:
[0040]101、接收数据查询请求,所述数据查询请求中携带有查询条件、查询开始时间以及单页显示条数。
[0041]所述查询条件用于对用户设备请求的数据进行查询,所述查询开始时间用于对根据查询条件查询到的记录进行筛选,所述单页显示条数用于限定每一页显示的记录路条数。
[0042]102、根据查询条件进行查询,获取第一查询记录,并根据时间签对第一查询记录进行排序。
[0043]数据查询设备根据查询条件对用户设备请求的数据进行查询,获取第一查询记录。然后根据时间签对第一查询记录进行排序。第一查询记录中的每一条记录都携带有一个时间签,所述时间签中携带该条记录的创建时间或者该条记录最近一次的修改时间。例如,某条记录的时间签为〈2011.1.1.19:01〉,并且该时间签的类型为用于标识记录最近一次的修改时间,该时间签表示该条记录的最近一次修改时间为2011年I月I日19点01分。
[0044]以下以时间签的类型为创建时间为例,具体说明数据查询设备在获取到第一查询记录后,按照时间签对多条记录进行排序,该具体排序方式可以为:
[0045]I)根据时间签由大到小的顺序对第一查询记录进行降序排序。
[0046]如图2(a)所示,数据查询设备获取到A、B、C、D、E、F、G、H、1、JlO条第一查询记录,这10条第一查询记录的时间签依次为〈19:01〉、〈19:23〉、〈19:10>、〈19:15>、〈19:16>、〈19:21〉、〈19:33〉、〈19:43〉、〈19:54〉和〈19:18〉,并且这10个时间签的日期相同。数据查询设备根据这10个时间签由大到小的顺序对A、B、C、D、E、F、G、H、1、J这10条第一查询记录进行降序排序,排序后的第一查询记录如图2(b)所示。
[0047]2)根据时间签由小到大的顺序对第一查询记录进行升序排序。
[0048]仍以图2(a)所示的10条第一查询记录为例,数据查询设备根据这10个时间签由小到大的顺序对A、B、C、D、E、F、G、H、1、J这10条第一查询记录进行升序排序,排序后的第一查询记录如图2(c)所示。
[0049]本发明实施例以数据查询设备时间签的类型为创建时间,并以创建时间由大到小的顺序对第一查询记录进行降序排序为例进行说明。
[0050]103、从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第
二查询记录。
[0051]在获取到第一查询记录后,数据查询设备从第一查询记录中进一步选择出第二查询记录,即将时间签满足以查询开始时间为起点的第一查询记录确定为第二查询记录。
[0052]如果第一查询记录是按倒序进行的排序,则数据查询设备将时间签小于查询开始时间的第一查询记录确定为第二查询记录,如果第一查询记录是按升序进行的排序,则数据查询设备将时间签大于查询开始时间的第一查询记录确定为第二查询记录。具体的,以将时间签小于查询开始时间的第一查询记录确定为第二查询记录为例:数据查询设备获取的查询开始时间为19:35,该查询开始时间的日期与图2中时间签的日期相同。对于图2 (b)中所示的10个第一查询记录,数据查询设备将时间签小于查询开始时间19:35的第一查询记录确定为第二查询记录,即如图2(d)所示,第二查询记录依次为G〈19:33>、B〈19:23>、F〈19:21>、J〈19:18>、E〈19:16>、D〈19:15>、C〈19:10> 以及 A〈19:01>。
[0053]由于第一查询记录是按照时间签由大到小的顺序进行排序的,所以数据查询设备选择的第二查询记录也是按照时间签由大到小的顺序进行排序的。
[0054]104、从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中特定记录的记录标识,该特定记录为第一条记录或者最后一条记录。
[0055]在选择出第二查询记录后,数据查询设备从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录。由于每一条记录的创建时间或最近一次修改时间是随机的,并且查询开始时间也是由数据查询请求而定的,查询开始时间并不一定与某一条记录的时间签严格一致,所以在确定一页中的第一条记录时,将时间签与查询开始时间最近的记录作为该页的第一条记录。例如,在图2(d)中所示的第二查询记录中,时间签与查询开始时间最近的记录为6〈19:33>的,所以将6〈19:33>作为当前一页中的第一条记录,由记录G〈19:33>开始依次取出单页显示条数的记录作为一页查询记录。所述依次取出单页显示条数的记录具体为按照时间签由大到小的顺序(即图2(d)中各条记录的排序顺序)取出单页显示条数的记录作为一页查询记录。通常,一页可以显示10条记录或者20条记录,为便于描述,本发明实施例中以单页显示条数为3为例进行说明。数据查询设备依次取出G〈19:33>、B〈19:23>和F〈19:21>3条记录作为一页的查询记录。[0056]在取出一页查询记录之后,数据查询设备获取该页查询记录中特定记录的记录标识,所述记录标识用于对记录进行唯一标识,记录标识可以是记录的时间签,也可以是记录的标识ID编号,还可以是时间签与标识编号的组合。本发明和后续实施例以记录标识为时间签为例进行说明。
[0057]在本发明实施例的一个优选方案中,特定记录为一页查询记录中的第一条记录,数据查询设备将第一条记录的时间签发送给用户设备,第一条记录的时间签用于当用户设备查询上一页查询记录时,上一页查询记录的查询起点,即本页查询记录与上一页查询记录的分页标记点。或者,特定记录为一页查询记录中的最后一条记录,数据查询设备将最后一条记录的时间签发送给用户设备,最后一条记录的时间签用于当用户设备查询下一页查询记录时,下一页查询记录的查询起点,即本页查询记录与下一页查询记录的分页标记点。
[0058]105、将特定记录的记录标识和所述一页查询记录一起发送给用户设备。
[0059]将特定记录的记录标识发送给用户设备,以便电子设备查询下一页查询记录或者上一页查询记录。
[0060]具体的,当查询下一页查询记录时,接收电子设备发送的查询下一页的数据查询请求,该查询下一页的数据查询请求中携带最后一条记录的记录标识,将最后一条记录的记录标识作为查询下一页查询记录的查询起点,获取下一页查询记录。查询上一页查询记录时,接收电子设备发送的查询上一页的数据查询请求,该查询上一页的数据查询请求中携带所述第一条记录的记录标识,将第一条记录的记录标识作为查询上一页查询记录的查询起点,获取上一页查询记录。
[0061]用户设备在请求下一页数据查询时,将最后一条记录的时间签添加到数据查询请求中发送给数据查询设备,以便数据查询设备将最后一条记录的时间签作为查询下一页数据的查询起点;用户设备在请求上一页数据查询时,将第一条记录的时间签添加到数据查询请求中发送给数据查询设备,以便数据查询设备将第一条记录的时间签作为查询上一页数据的查询起点。
[0062]当记录标识为时间签时,所述查询起点为第二次查询的查询开始时间,用户设备将时间签作为查询开始时间添加到数据查询请求中。例如,数据查询设备在取出第一页的查询数据G〈19:33>、B<19:23>和F〈19:21>(如图3(a)所示)后,将第一页最后一条记录F的时间签〈19:21〉以及第一页的查询数据发送给用户设备。当用户设备请求查询下一页数据时,数据查询设备再次接收用户设备发送的数据查询请求,该数据查询请求中的查询开始时间为19:21,即记录F的时间签。数据查询设备根据与第一次查询条件相同的查询条件再次获取第一查询记录,本次获取的第一查询记录中新增了记录Z〈19:55>和记录Y〈19:56>。数据查询设备对获取的12条第一查询记录进行降序排序,获得的排序后的第一查询记录如图3(b)所示。然后数据查询设备根据查询开始时间19:21选择第二查询记录,选择出的第二查询记录如图3(c)所示。数据查询设备从时间签与查询开始时间19:21最近的记录J<19:18>开始,依次将J〈19:18>、E<19:16>和D<19:15>确定为第二页的查询记录,即如图3(d)所示。
[0063]当记录标识为标识编号时,所述查询起点为第一页最后一条记录的标识编号,用户设备将第一页最后一条记录的标识编号作为下一页的查询起点添加到数据查询请求中。数据查询设备在取出第一页的查询数据G〈19:33>、B〈19:23>和F〈19:21> (如图3 (a)所示)后,将第一页最后一条记录F的标识编号以及第一页的查询数据发送给用户设备。当用户设备请求查询下一页数据时,数据查询设备再次接收用户设备发送的数据查询请求,该数据查询请求中的携带记录F的标识编号。数据查询设备第二次获得的排序后的第一查询记录如图3(b)所示,然后数据查询设备根据记录F的标识编号选择第二查询记录,即选择标识编号在记录F的标识编号之后的记录作为第二查询记录,选择出的第二查询记录如图3(c)所示。数据查询设备从记录F之后的第一个记录J〈19:18>开始,依次将J〈19:18>、E<19:16>和D〈19:15>确定为第二页的查询记录,即如图3(d)所示。
[0064]数据查询设备在通过第二页中第一条记录的时间签查询第一页查询记录时,数据查询设备在取出第二页的查询数据J〈19:18>、E〈19:16>和D〈19:15> (如图4 (a)所示)后,将第二页第一条记录J的时间签〈19:18〉以及第二页的查询数据发送给用户设备。当用户设备请求查询上一页数据时,数据查询设备再次接收用户设备发送的数据查询请求,该数据查询请求中的查询开始时间为19:18。数据查询设备根据与第一次查询条件相同的查询条件再次获取第一查询记录,本次获取的第一查询记录中新增了记录Z〈19:55>和记录Y〈19:56>。数据查询设备对获取的12条第一查询记录进行降序排序,获得的排序后的第一查询记录如图4(b)所示。然后数据查询设备根据查询开始时间19:18选择第二查询记录,选择出的第二查询记录如图4(c)所示。数据查询设备从时间签与查询开始时间19:18最近的记录F〈19:21>开始,依次将F〈19:21>、B〈19:23>、G〈19:33>确定为第一页的查询记录,即如图4(d)所示。
[0065]现有技术中,数据查询设备在根据查询条件搜索到查询记录后,按照时间顺序(例如按照创建时间由大到小的顺序)对记录进行排序和编号,排序后的10条查询记录如图5(a)所示。然后数据查询设备从编号为I记录开始,顺序取出编号为1、编号为2和编号为3的3条记录a、b和c作为第一页的查询记录发送给用户设备,并将编号3 (记录c的编号)作为查询第二页查询记录的偏移量发送给用户设备,第一页的查询记录如图5(b)所示。当用户设备请求查询第二页查询记录时,数据查询设备根据和第一次搜索相同的查询条件搜索查询记录。此时,数据查询设备搜索到的查询记录中新增了两条记录y和z,排序并编号后的查询记录如图5(c)所示。其中,从记录a开始后续每一条记录的编号增加了2 (例如记录a的编号由第一次查询时的I变为了 3,记录c的编号由第一次查询时的3变为了 5),在图5(c)中,将第一次查询时记录的编号称为原编号。此时,数据查询设备将前次查询时记录c的原编号3作为偏移量,顺序取出编号为4、编号为5和编号为6的3条记录b、c和d作为第二页的查询记录发送给用户设备,第二页的查询记录如图5(d)所示。对图5(b)和图5(d)比较可以看出,第二页查询记录中重复记录了第一页查询记录中的记录b和C,这是由于第二次查询记录时新增了记录I和z,并且数据查询设备对包含新增记录的查询记录重新进行了编号。数据查询设备使用的偏移量为记录c的原编号3,在取第二页查询记录时新编号3对应的记录为a,因此,导致数据查询设备从记录b开始顺序取出3条记录作为第二页查询记录,而不是从记录d开始顺序取出3条记录作为第二页查询记录,由此产生前后生成的两页查询记录中存在重复记录的问题。
[0066]本发明实施例提供的数据查询的方法,能够根据查询条件获取第一查询记录并根据记录的时间签对第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录,然后从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中的特定记录的记录标识,将特定记录的记录标识和一页查询记录一起发送给用户设备。由于时间签与记录之间具有一一对应的关系,同一条记录的时间签不会因新增记录而发生改变,所以与现有技术中根据记录编号及特定数量对记录进行分页相比,可以在多页查询记录中顺序生成各条记录,避免前后生成的两页查询记录中存在重复记录。
[0067]需要说明的是,本发明实施例中作为记录标识的标识ID编号与现有技术中对记录的编号不同,现有技术是在查询到多条记录后,为每条记录分配的编号。在不同的查询过程中,由于会增加新的记录,所以每次查询时为同一条记录分配的编号不相同。而本发明实施例中所述标识ID编号为每一条记录的进本属性信息,一个标识ID编号用于唯一标识一条记录,在不同的查询过程中无论是否增加新的记录,每条记录的标识ID编号均不会改变,因此标识ID编号可以作为查询记录的分页标记点。
[0068]以上,以对第一查询记录进行降序排序为例对数据查询的方法进行了说明,下面以对第一查询记录进行升序排序为例对数据查询的方法进行说明,如图6所示,所述方法包括:
[0069]601、接收数据查询请求,所述数据查询请求中携带有查询条件、查询开始时间以及单页显示条数。
[0070]步骤601与图1中步骤101的实现方式相同,具体可以参考图1中步骤101的实现方式进行实现,此处不再赘述。
[0071]602、根据查询条件进行查询,获取第一查询记录,并根据时间签对第一查询记录进行升序排序。
[0072]以数据查询设备获取到图2(a)中所示的10条第一查询记录为例,数据查询设备根据时间签对10条第一查询记录由小到大进行升序排序,排序后的第一查询记录如图2(c)所示。
[0073]603、从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第
二查询记录。
[0074]在获取到第一查询记录后,数据查询设备从第一查询记录中进一步选择出第二查询记录,即将时间签满足以查询开始时间为起点的第一查询记录确定为第二查询记录。
[0075]当数据查询设备对第一查询记录进行升序排序时,数据查询设备将时间签大于查询开始时间的第一查询记录确定为第二查询记录。具体的,数据查询设备获取的查询开始时间为19:22,该查询开始时间的日期与图2中时间签的日期相同。对于图2(c)中所示的10个第一查询记录,数据查询设备将时间签大于查询开始时间19:23的第一查询记录确定为第二查询记录,即如图2(e)所示,第二查询记录由小到大依次为B、G、H、I。
[0076]由于第一查询记录是按照时间签由小到大的顺序进行排序的,所以数据查询设备选择的第二查询记录也是按照时间签由小到大的顺序进行排序的。
[0077]604、从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中特定记录的时间签,该特定记录为第一条记录或者最后一条记录。
[0078]所述依次取出单页显示条数的记录具体为按照时间签由小到大的顺序(即图2(e)中各条记录的排序顺序)取出单页显示条数的记录作为一页查询记录。本发明实施例中仍以单页显示条数为3为例进行说明。数据查询设备依次取出B〈19:23>、G〈19:33>、和H<19:43>3条记录作为一页的查询记录。
[0079]在取出一页查询记录之后,数据查询设备获取该页查询记录中特定记录的时间签,将特定记录的时间签作为下一次生成一页查询记录的查询开始时间。在本发明实施例的一个优选方案中,特定记录为一页查询记录中的第一条记录,数据查询设备将第一条记录的时间签发送给用户设备,第一条记录的时间签用于当用户设备查询上一页查询记录时,上一页查询记录的查询起点,即本页查询记录与上一页查询记录的分页标记点。或者,特定记录为一页查询记录中的最后一条记录,数据查询设备将最后一条记录的时间签发送给用户设备,最后一条记录的时间签用于当用户设备查询下一页查询记录时,下一页查询记录的查询起点,即本页查询记录与下一页查询记录的分页标记点。
[0080]605、将特定记录的时间签和所述一页查询记录一起发送给用户设备。
[0081]用户设备在请求下一页数据查询时,将最后一条记录的时间签添加到数据查询请求中发送给数据查询设备,以便数据查询设备将最后一条记录的时间签作为查询下一页数据的查询起点;用户设备在请求上一页数据查询时,将第一条记录的时间签添加到数据查询请求中发送给数据查询设备,以便数据查询设备将第一条记录的时间签作为查询上一页数据的查询起点。
[0082]例如,数据查询设备在取出第一页的查询数据B〈19:23>、G〈19:33>、和H〈19:43> (如图7(a)所示)后,将第一页最后一条记录H的时间签〈19:43>以及第一页的查询数据发送给用户设备。当用户设备请求查询下一页数据时,数据查询设备再次接收用户设备发送的数据查询请求,该数据查询请求中的查询开始时间为19:43。数据查询设备根据与第一次查询条件相同的查询条件再次获取第一查询记录,本次获取的第一查询记录中新增了记录Z〈19:55>和记录Y〈19:56>。数据查询设备对获取的12条第一查询记录进行升序排序,获得的排序后的第一查询记录如图7(b)所示。然后数据查询设备根据查询开始时间19:43选择第二查询记录,如图7 (c)所示选择出的第二查询记录为Ι〈19:54>、Ζ〈19:55>、Υ〈19:56>。数据查询设备从时间签与查询开始时间19:43最近的记录1〈19:54>开始,依次将Ι〈19:54>、Ζ〈19:55>和Υ〈19:56>确定为第二页的查询记录,即如图7(d)所示。
[0083]又例如,数据查询设备在取出第二页的查询数据1〈19:54>、Ζ〈19:55>、Υ〈19:56> (如图8(a)所示)后,将第二页第一条记录I的时间签〈19:54〉以及第二页的查询数据发送给用户设备。当用户设备请求查询上一页数据时,数据查询设备再次接收用户设备发送的数据查询请求,该数据查询请求中的查询开始时间为19:54。数据查询设备根据与第一次查询条件相同的查询条件再次获取第一查询记录,本次获取的第一查询记录中新增了记录Ζ〈19:55>和记录Υ〈19:56>。数据查询设备对获取的12条第一查询记录进行升序排序,获得的排序后的第一查询记录如图8(b)所示。然后数据查询设备根据查询开始时间19:54选择第二查询记录,选择出的第二查询记录如图8(c)所示。数据查询设备从时间签与查询开始时间19:54最近的记录Η〈19:43>开始,依次将Η〈19:43>、G〈19:33>、B<19:23>确定为第一页的查询记录,即如图8(d)所示。
[0084]在本发明实施例的一个应用场景中,数据查询设备对查询条件“专利”进行搜索,获得10条第一查询记录。数据查询设备根据时间签由大到小对10条第一查询记录进行倒序排序,排序后的10条第一查询记录依次为F1、F2、F3、F4、F5、F6、F7、F8、F9、F10,其中Fl的时间签最大。然后数据查询设备将接收到数据查询请求时的系统时间作为查询开始时间对第一查询记录进行选择,其中,查询开始时间介于Fl时间签和F2时间签之间。数据查询设备确定出的第二查询记录依次为F2、F3、F4、F5、F6、F7、F8、F9、F10,数据查询设备从第二查询记录中的F2开始顺序取出F2、F3、F43条记录作为第一页的查询记录发送给用户设备,并将第一页查询记录中最后一条记录F4的时间签发送给用户设备。
[0085]用户请求查询第二页查询记录,数据查询设备再次对查询条件“专利”进行搜索,获得12条第一查询记录。数据查询设备根据时间签由大到小对12条第一查询记录进行倒序排序,排序后的12条第一查询记录依次为M1、M2、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10,其中,M1、M2为第二次搜索时新增的两条记录,并且Ml的时间签最大。数据查询设备将F4的时间签作为查询开始时间对第一查询记录进行选择,确定出的第二查询记录依次为F5、F6、F7、F8、F9、F10,数据查询设备从第二查询记录中的F5开始顺序取出F5、F6、F73条记录作为第二页的查询记录发送给用户设备,并将第二页查询记录中第一条记录F5的时间签发送给用户设备。
[0086]之后,用户请求再次查询第一页查询记录,数据查询设备再次对查询条件“专利”进行搜索,获得12条第一查询记录,此次搜索为增加新增记录。数据查询设备根据时间签由大到小对12条第一查询记录进行倒序排序,排序后的12条第一查询记录依次为M1、M2、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10,其中,Ml的时间签最大。数据查询设备将F5的时间签作为查询开始时间对第一查询记录进行选择,确定出的第二查询记录依次为F4、F3、F2、FU M2, Ml,数据查询设备从第二查询记录中的F4开始顺序取出F4、F3、F23条记录作为第一页的查询记录发送给用户设备,并将第一页查询记录中最后一条记录F2的时间签发送给用户设备。
[0087]本发明实施例提供的数据查询的方法,能够根据查询条件获取第一查询记录并根据记录的时间签对第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录,然后从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中的特定记录的记录标识,将特定记录的记录标识和一页查询记录一起发送给用户设备。由于时间签与记录之间具有一一对应的关系,同一条记录的时间签不会因新增记录而发生改变,所以与现有技术中根据记录编号及特定数量对记录进行分页相比,可以在多页查询记录中顺序生成各条记录,避免前后生成的两页查询记录中存在重复记录。
[0088]参考上述方法实施例的实现,本发明实施例还提供了一种数据查询设备,用以实现上述方法实施例。如图9所示,所述设备包括:接收单元91、查询单元92、排序单元93、选择单元94、生成单元95、获取单元96以及发送单元97,其中,
[0089]所述接收单元91,用于接收数据查询请求,数据查询请求中携带有查询条件、查询开始时间以及单页显示条数。
[0090]所述查询单元92,用于根据数据查询请求中的查询条件进行查询,获取第一查询记录。
[0091]所述排序单元93,用于根据时间签对所述查询单元92查询到的第一查询记录进行排序。
[0092]所述选择单元94,用于从所述排序单元93排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录。
[0093]所述生成单元95,用于从所述选择单元94选择的第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录。
[0094]所述获取单元96,用于从所述生成单元95生成的一页查询记录中获取特定记录的记录标识,特定记录为第一条记录或者最后一条记录。
[0095]所述发送单元97,用于将所述获取单元96获取的特定记录的记录标识和所述生成单元95生成的一页查询记录一起发送给用户设备,以便用户设备将最后一条记录的时间签作为下一页查询记录的查询开始时间或将第一条记录的时间签作为上一页查询记录的查询开始时间。所述查询开始时间为所述用户设备接收到的用户输入的查询开始时间,或者所述查询开始时间为接收到数据查询请求时的系统时间。
[0096]进一步的,所述接收单元91还用于接收查询下一页的数据查询请求,所述查询下一页的数据查询请求中携带所述最后一条记录的记录标识,所述生成单元95还用于将所述最后一条记录的记录标识作为查询下一页查询记录的查询起点,获取下一页查询记录;
[0097]所述接收单元91还用于接收查询上一页的数据查询请求,所述查询上一页的数据查询请求中携带所述第一条记录的记录标识,所述生成单元95还用于将所述第一条记录的记录标识作为查询上一页查询记录的查询起点,获取上一页查询记录。
[0098]进一步的,如图10所示,所述排序单元93包括:
[0099]第一排序子单元1001,用于根据时间签由大到小的顺序对所述查询单元92查询到的第一查询记录进行降序排序。
[0100]第二排序子单元1002,用于根据时间签由小到大的顺序对所述查询单元92查询到的第一查询记录进行升序排序。
[0101]进一步的,如图11所示,所述选择单元94包括:
[0102]第一选择子单元1101,用于从所述排序单元93排序后的第一查询记录中选择出时间签小于查询开始时间的第一查询记录,作为第二查询记录。
[0103]第二选择子单元1102,用于从所述排序单元93排序后的第一查询记录中选择出时间签大于查询开始时间的第一查询记录,作为第二查询记录。
[0104]进一步的,所述发送单元97发送的所述特定记录的记录标识为:所述特定查询记录的时间签,或者所述特定查询记录的标识ID编号,或者所述特定查询记录的时间签和标识编号的组合。
[0105]本发明实施例提供的数据查询设备,能够根据查询条件获取第一查询记录并根据记录的时间签对第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录,然后从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中的特定记录的记录标识,将特定记录的记录标识和一页查询记录一起发送给用户设备。由于时间签与记录之间具有一一对应的关系,同一条记录的时间签不会因新增记录而发生改变,所以与现有技术中根据记录编号及特定数量对记录进行分页相比,可以在多页查询记录中顺序生成各条记录,避免前后生成的两页查询记录中存在重复记录。
[0106]参考上述方法实施例的实现,本发明实施例还提供了一种数据查询的系统,用于实现上述方法实施例。如图12所示,所述系统包括:数据查询设备1201以及用户设备1202,其中,
[0107]所述用户设备1202,用于向所述数据查询设备1201发送数据查询请求,在数据查询请求中携带查询条件、查询开始时间以及单页显示条数。
[0108]所述数据查询设备1201,用于接收所述用户设备1202发送的数据查询请求,根据数据查询请求中的查询条件进行查询,获取第一查询记录,并根据时间签对第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录,从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中特定记录的记录标识,该特定记录为第一条记录或者最后一条记录,将特定记录的记录标识和一页查询记录一起发送给所述用户设备1202。
[0109]所述用户设备1202还用于,接收所述数据查询设备1201发送的所述特定记录的记录标识和所述一页查询记录,并在下次查询时将所述特定记录的记录标识发送给所述数据查询设备1201,其中所述最后一条记录的记录标识为下一页查询记录查询起点,所述第一条记录的记录标识为上一页查询记录的查询起点。
[0110]进一步的,在接收到所述数据查询设备1201发送的特定记录的记录标识和一页查询记录之后,所述用户设备1202还用于:
[0111]当接收到查询下一页的触发时,将接收到的最后一条记录的记录标识添加到数据查询请求中,并将携带有最后一条记录的记录标识的数据查询请求发送给所述数据查询设备 1201。
[0112]当接收到查询上一页的触发时,将接收到的第一条记录的记录标识添加到数据查询请求中,并将携带有第一条记录的时间签的数据查询请求送给所述数据查询设备1201。
[0113]进一步的,所述记录标识用于对记录进行唯一标识,记录标识可以是记录的时间签,也可以是记录的标识ID编号,还可以是时间签与标识编号的组合。
[0114]本发明实施例提供的数据查询的系统,数据查询设备能够根据查询条件获取第一查询记录并根据记录的时间签对第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以查询开始时间为起点的第二查询记录,然后从第二查询记录中时间签与查询开始时间最近的记录开始,依次取出单页显示条数的记录作为一页查询记录,并获取一页查询记录中的特定记录的记录标识,将特定记录的记录标识和一页查询记录一起发送给用户设备。由于时间签与记录之间具有一一对应的关系,同一条记录的时间签不会因新增记录而发生改变,所以与现有技术中根据记录编号及特定数量对记录进行分页相比,可以在多页查询记录中顺序生成各条记录,避免前后生成的两页查询记录中存在重复记录。
[0115]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0116]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种数据查询的方法,其特征在于,包括: 接收数据查询请求,所述数据查询请求中携带有查询条件、查询开始时间以及单页显示条数; 根据所述查询条件进行查询,获取第一查询记录,并根据时间签对所述第一查询记录进行排序; 从排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第二查询记录; 从所述第二查询记录中时间签与所述查询开始时间最近的记录开始,依次取出所述单页显示条数的记录作为一页查询记录,并获取所述一页查询记录中特定记录的记录标识,所述特定记录为第一条记录或者最后一条记录; 将所述特定记录的记录标识和所述一页查询记录一起发送给用户设备。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 接收查询下一页的数据查询请求,所述查询下一页的数据查询请求中携带所述最后一条记录的记录标识,将所述最后一条记录的记录标识作为查询下一页查询记录的查询起点,获取下一页查询记录; 或者,接收查询上一页的数据查询请求,所述查询上一页的数据查询请求中携带所述第一条记录的记录标识,将所述第一条记录的记录标识作为查询上一页查询记录的查询起点,获取上一页查询记录。
3.根据权利要求1所述的方法,其特征在于,所述查询开始时间为所述用户设备接收到的用户输入的查询开始时间,或者所述查询开始时间为接收到数据查询请求时的系统时间。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据时间签对所述第一查询记录进行排序,包括: 根据时间签由大到小的顺序对所述第一查询记录进行降序排序; 或者,根据时间签由小到大的顺序对所述第一查询记录进行升序排序。
5.根据权利要求4所述的方法,其特征在于,所述从排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第二查询记录,包括: 从排序后的第一查询记录中选择出时间签小于所述查询开始时间的第一查询记录,作为第二查询记录; 或者从排序后的第一查询记录中选择出时间签大于所述查询开始时间的第一查询记录,作为第二查询记录。
6.根据权利要求1所述的方法,其特征在于,所述特定查询记录的记录标识为:所述特定查询记录的时间签,或者所述特定查询记录的标识ID编号,或者所述特定查询记录的时间签和标识编号的组合。
7.一种数据查询设备,其特征在于,包括: 接收单元,用于接收数据查询请 求,所述数据查询请求中携带有查询条件、查询开始时间以及单页显示条数; 查询单元,用于根据所述数据查询请求中的所述查询条件进行查询,获取第一查询记录;排序单元, 用于根据时间签对所述查询单元查询到的所述第一查询记录进行排序; 选择单元,用于从所述排序单元排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第二查询记录; 生成单元,用于从所述选择单元选择的所述第二查询记录中时间签与所述查询开始时间最近的记录开始,依次取出所述单页显示条数的记录作为一页查询记录; 获取单元,用于从所述生成单元生成的所述一页查询记录中获取特定记录的记录标识,所述特定记录为第一条记录或者最后一条记录; 发送单元,用于将所述获取单元获取的所述特定记录的记录标识和所述生成单元生成的所述一页查询记录一起发送给用户设备。
8.根据权利要求7所述的设备,其特征在于: 所述接收单元还用于接收查询下一页的数据查询请求,所述查询下一页的数据查询请求中携带所述最后一条记录的记录标识,所述生成单元还用于将所述最后一条记录的记录标识作为查询下一页查询记录的查询起点,获取下一页查询记录; 所述接收单元还用于接收查询上一页的数据查询请求,所述查询上一页的数据查询请求中携带所述第一条记录的记录标识,所述生成单元还用于将所述第一条记录的记录标识作为查询上一页查询记录的查询起点,获取上一页查询记录。
9.根据权利要求7所述的设备,其特征在于,所述查询开始时间为所述用户设备接收到的用户输入的查询开始时间,或者所述查询开始时间为接收到数据查询请求时的系统时间。
10.根据权利要求7至9中任一项所述的设备,其特征在于,所述排序单元包括: 第一排序子单元,用于根据时间签由大到小的顺序对所述查询单元查询到的所述第一查询记录进行降序排序; 第二排序子单元,用于根据时间签由小到大的顺序对所述查询单元查询到的所述第一查询记录进行升序排序。
11.根据权利要求10所述的设备,其特征在于,所述选择单元包括: 第一选择子单元,用于从所述排序单元排序后的第一查询记录中选择出时间签小于所述查询开始时间的第一查询记录,作为第二查询记录; 第二选择子单元,用于从所述排序单元排序后的第一查询记录中选择出时间签大于所述查询开始时间的第一查询记录,作为第二查询记录。
12.根据权利要求7所述的设备,其特征在于,所述发送单元发送的所述特定记录的记录标识为:所述特定查询记录的时间签,或者所述特定查询记录的标识ID编号,或者所述特定查询记录的时间签和标识编号的组合。
13.一种数据查询的系统,其特征在于,包括数据查询设备以及用户设备,其中, 所述用户设备,用于向所述数据查询设备发送数据查询请求,在所述数据查询请求中携带查询条件、查询开始时间以及单页显示条数; 所述数据查询设备,用于接收数据查询请求,根据所述查询条件进行查询,获取第一查询记录,并根据时间签对所述第一查询记录进行排序,从排序后的第一查询记录中选择出时间签满足以所述查询开始时间为起点的第二查询记录,从所述第二查询记录中时间签与所述查询开始时间最近的记录开始,依次取出所述单页显示条数的记录作为一页查询记录,并获取所述一页查询记录中特定记录的记录标识,所述特定记录为第一条记录或者最后一条记录,将所述特定记录的记录标识和所述一页查询记录一起发送给所述用户设备;所述用户设备还用于,接收所述数据查询设备发送的所述特定记录的记录标识和所述一页查询记录,并在下次查询时将所述特定记录的记录标识发送给所述数据查询设备,其中所述最后一条记录的记录标识为下一页查询记录查询起点,所述第一条记录的记录标识为上一页查询记录的查询起点。
14.根据权利要求13所述的系统,其特征在于,在接收到所述数据查询设备发送的所述特定记录的记录标识和所述一页查询记录之后,所述用户设备还用于: 当接收到查询下一页的触发时,将接收到的所述最后一条记录的记录标识添加到数据查询请求中,并将携带有所述最后一条记录的记录标识的数据查询请求发送给所述数据查询设备; 或者当接收到查询上一页的触发时,将接收到的所述第一条记录的记录标识添加到数据查询请求中,并将携带 有所述第一条记录的记录标识的数据查询请求送给所述数据查询设备。
【文档编号】G06F17/30GK103942196SQ201310017608
【公开日】2014年7月23日 申请日期:2013年1月17日 优先权日:2013年1月17日
【发明者】颜学伟 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1