WO2019100853A1 - 分页查询方法及装置和电子设备 - Google Patents
分页查询方法及装置和电子设备 Download PDFInfo
- Publication number
- WO2019100853A1 WO2019100853A1 PCT/CN2018/108924 CN2018108924W WO2019100853A1 WO 2019100853 A1 WO2019100853 A1 WO 2019100853A1 CN 2018108924 W CN2018108924 W CN 2018108924W WO 2019100853 A1 WO2019100853 A1 WO 2019100853A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- creation time
- query
- data source
- server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种分页查询方法及装置和电子设备,通过接收客户端发起的分页数据查询的第一请求;向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
Description
本说明书实施例涉及互联网技术领域,尤其涉及一种分页查询方法及装置和电子设备。
随着互联网业务的不断增多,平台涉及到的业务也相应增多。由于不同业务产生的业务数据并不相同,因此需要存储的数据库、数据库类型也都不相同。当前存在一些需要不同业务数据同时分页显示的需求。对于这些查询请求,往往需要从不同的数据源中查询数据,之后还需要将这些不同的业务数据转换为同一类型的临时数据,分页后才可以提供给请求方。
需要提供更有效率的分页查询方案。
发明内容
本说明书实施例提供的一种分页查询方法及装置和电子设备,用于提供更为效率的方案来找寻使用寻废弃字段的服务使用方。
根据本说明书实施例提供的一种分页查询方法,所述方法包括:
客户端向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;
所述服务端在接收所述客户端发起的第一请求后,向每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
所述数据源在接收所述服务端发起的第二请求后,查询属于所述用户标识并且符合所述第一创建时刻的数据;
所述数据源根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端;
所述服务端合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
所述服务端截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;
所述服务端将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端;
所述客户端接收所述服务端返回的数据和每个数据源的第二创建时刻;
所述客户端根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
根据本说明书实施例提供的一种分页查询方法,所述方法包括:
向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;
接收所述服务端返回的数据和每个数据源的第二创建时刻;
根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
根据本说明书实施例提供的一种分页查询方法,所述方法包括:
接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;
向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;
将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
根据本说明书实施例提供的一种分页查询方法,所述方法包括:
接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;
查询属于所述用户标识并且符合所述第一创建时刻的数据;
根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
根据本说明书实施例提供的一种分页查询装置,所述装置包括:
请求单元,向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;
接收单元,接收所述服务端返回的数据和每个数据源的第二创建时刻;
更新单元,根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
根据本说明书实施例提供的一种分页查询装置,所述装置包括:
接收单元,接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;
请求单元,向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
排序单元,合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
处理单元,截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;
返回单元,将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
根据本说明书实施例提供的一种分页查询装置,所述装置包括:
接收单元,接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;
查询单元,查询属于所述用户标识并且符合所述第一创建时刻的数据;
返回单元,根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
根据本说明书实施例提供的一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;
接收所述服务端返回的数据和每个数据源的第二创建时刻;
根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
根据本说明书实施例提供的一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;
向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;
将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
根据本说明书实施例提供的一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;
查询属于所述用户标识并且符合所述第一创建时刻的数据;
根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
本说明书实施例中,通过传递创建时刻这一参数,可以实现跨多个数据源的分页数据查询;并且无需新建数据表,也就不会造成分页数据查询延迟。
图1是本说明书一实施例提供的实现分页查询的系统架构图;
图2是本说明书一实施例提供的分页查询方法的流程图;
图3是本说明书一实施例提供的第一请求、第二请求的示意图;
图4是本说明书一实施例提供的返回查询到数据的示意图;
图5是本说明书一实施例提供的分页查询方法的流程图;
图6是本说明书一实施例提供的以客户端为主体的方法流程图;
图7是本说明书一实施例提供的以服务端为主体的方法流程图;
图8是本说明书一实施例提供的以数据源为主体的方法流程图;
图9是本说明书一实施例提供的分页查询装置的模块示意图;
图10是本说明书一实施例提供的分页查询装置的模块示意图;
图11是本说明书一实施例提供的分页查询装置的模块示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如前所述,随着互联网业务的不断增多,平台涉及到的业务也相应增多。由于不同业务产生的业务数据并不相同,因此需要存储的数据库、数据库类型也都不相同。当前存在一些需要不同业务数据同时分页显示的需求。对于这些查询请求,往往需要从不同的数据源中查询数据,不同数据源中的数据无法协调完成分页显示。为此,现有技术中,需要新建数据表,将不同数据源中查询到的数据暂时统一存储到该表中,然后对该数据表中的数据进行操作例如排序筛选等,最后将需要的数据返回给请求方。这样,由于查询过程中涉及到新建数据表,数据存储到数据表,以及数据表的操作等,容易造成分页数据查询延迟。
图1为本申请实施例中提供的实现分页查询的系统架构图。本实施例中,该系统可以包括客户端11、服务端12和多个数据源13。
客户端11可以是安装有应用的终端,例如苹果的IOS系统中安装的移动应用(App)、Google的Android系统中安装的应用或微软的Windows/WindowsPhone系统中安装的应用。结合安装的应用,客户端11可以与服务端12进行通信,本实施例中,客户端11可以向服务端12发起分页查询的请求。
服务端12可以是客户端11中应用对应的用于数据查询的应用服务器、服务器集群或者基于服务器集群构建的服务平台等。所述服务端12可以基于客户端11发送的请求,向数据源13查询数据,并向客户端11返回查询到的数据。
数据源13可以是指数据库应用程序所使用的数据库或者数据库服务器。数据源13中一般可以存储有相关的数据。所述多个数据源13可以是指至少2个数据源。如前所述,不同的数据源可以存储有不同的数据,例如不同的业务可以对应有不同的数据源,每个业务产生的业务数据都需要存储到相应的数据源中。
用户通过客户端11分页查询数据,服务端12基于客户端11发起的请求,向相应的数据源查询数据,并对查询到的数据进行处理,将处理后的数据返回给客户端11,客户端11展示服务端12返回的数据。
以下请结合图2所示的例子介绍本说明书一种分页查询方法的实施例,该方法可以包括以下步骤:
步骤210:客户端向服务端发起分页数据查询的第一请求。
本实施例中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻。
所述用户标识可以是指用户或者账户的唯一标识,例如可以包括用户ID、用户账户名、手机号等。
所述查询个数可以包括客户端屏幕最大可同时显示的数据条数,也可以包括用户自定义设置的数据条数。
为了便于阅读和理解,以下定义查询个数为N;第一创建时刻为T;不同数据源的第一创建时刻可以是例如T1,T2……。
需要说明书的是,在所述客户端第一次向服务端发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
步骤220:所述服务端在接收所述客户端发起的第一请求后,向每个数据源发起数据查询的第二请求。
服务端接接收到所述客户端发起的第一请求后,可以根据所述第一请求涉及到的多个数据源,分别向这些数据源发起数据查询的第二请求。
所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻。也就是说,所述服务端可以将客户端传输的用户标识、查询个数和第一创建时刻传递给对应的数据源。
如图3所示的一个例子中,客户端发起分页数据查询的第一请求,该分页数据查询涉及A数据源和B数据源;该第一请求中携带有用户标识user,查询个数N,A数据源的第一创建时刻T1,B数据源的第一创建时刻T2;
那么,服务端在接收到该第一请求后,分别可以向A数据源和B数据源发起数据查询的第二请求:
向A数据源发起的第二请求中携带有用户标识user,查询个数N,A数据源的第一创建时刻T1;
向B数据源发起的第二请求中携带有用户标识user,查询个数N,B数据源的第一创建时刻T2。
步骤230:所述数据源在接收所述服务端发起的第二请求后,查询属于所述用户标识并且符合所述第一创建时刻的数据。
需要说明的是,数据源中存储的数据一般会有一个创建时刻,所述创建时刻通常是数据写入数据源的时刻,或者数据源中生成数据的时刻或时间戳。
本实施例中,所述符合所述第一创建时刻的数据,具体需要根据分页数据查询的排序方式。一般的,排序方式可以包括正序和倒序;
1:如果是正序,则所述符合所述第一创建时刻的数据,具体可以包括:
创建时刻大于所述第一创建时刻的数据。
该方式是采用正序,客户端中显示的数据是按照创建时间的先后顺序排序的,并且创建时刻越晚的数据排越前,创建时刻越早的数据排越后。
在应用过程中:
数据源在接收到所述服务端发起的第二请求后,可以根据所述第二请求中携带的参数查询数据,具体地:
首先,根据用户标识,查询输入所述用户标识的所有数据;
然后,根据第一创建时刻,在所述用户标识的数据中,筛选出创建时刻大于所述第一创建时刻的数据;这样筛选出的数据才是本次查询所需要的数据。
举例说明,某用户标识的数据如下:
数据1,创建时刻2017年10月1日(为了表示方便,该示例仅精确到天,实际可以精确到秒、毫秒甚至微秒等);
数据2,创建时刻2017年8月1日;
数据3,创建时刻2016年10月1日;
数据4,创建时刻2017年11月1日;
数据5,创建时刻2017年5月1日;
假设第一创建时刻为2017年9月1日;
则,符合所述第一创建时刻的数据应该是创建时刻大于2017年9月1日的数据,即数据1和数据4。
2:如果是倒序,则所述符合所述第一创建时刻的数据,具体可以包括:
创建时刻小于或等于所述第一创建时刻的数据。
该方式是采用倒序,客户端中显示的数据是按照创建时间的先后顺序排序的,并且创建时刻越早的数据排越前,创建时刻越晚的数据排越后。
在应用过程中:
数据源在接收到所述服务端发起的第二请求后,可以根据所述第二请求中携带的参数查询数据,具体地:
首先,根据用户标识,查询输入所述用户标识的所有数据;
然后,根据第一创建时刻,在所述用户标识的数据中,筛选出创建时刻小于或等于所述第一创建时刻的数据;这样筛选出的数据才是本次查询所需要的数据。
沿用上一示例,符合所述第一创建时刻的数据应该是创建时刻小于或等于2017年9月1日的数据,即数据2、数据3和数据5。
步骤240:所述数据源根据每个数据的创建时刻对所查询到的数据进行排序,将排序后前所述查询个数的数据返回给所述服务端。
上一步骤中查询到的数据一般是无序的,因此本步骤需要对其进行排序。
如前所述,所述排序,具体可以根据分页数据查询的排序方式,如果分页数据查询指定是正序,那么这里的排序也是正序;如果分页数据查询指定是倒序,那么这里的排序也是倒序。
1:如果是正序;
服务端可以对所查询到的数据,按照创建时刻由晚到早顺序排列。
延用上一步骤中的示例,查询到的数据为:
数据1,创建时刻2017年10月1日;
数据4,创建时刻2017年11月1日;
服务端根据数据1和数据4的创建时刻进行排序,由于数据4的创建时刻晚于数据1的创建时刻;因此排序后的顺序为:数据4在前,数据1在后。
2:如果是倒序,
服务端可以对所查询到的数据,按照创建时刻由早到晚顺序排列。
延用上一步骤中的示例,查询到的数据为:
数据2,创建时刻2017年8月1日;
数据3,创建时刻2016年10月1日;
数据5,创建时刻2017年5月1日;
服务端根据数据2、数据3和数据5的创建时刻进行排序,由于数据3的创建时刻最早,数据2的创建时刻最晚,数据5的创建时刻位于中间;因此排序后的顺序为:数据3在前、数据5在中间、数据2在后。
所述数据在对查询到的数据排序后,可以根据第二请求中携带的查询个数N,将排序后前N个数据返回给所述服务端。当然,如果排序后的数据个数不足N个,则直接将排序的所有数据返回,即有查询到多少数据就返回多少数据。
步骤250:所述服务端合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序。
由于每个数据源都可能返回N个数据,因此服务端发起X个第二请求,就可以接收X*N个数据。同样地,虽然单个数据源返回的数据可以认为排序过的,但是多个数据源返回的数据合并后又变为无序的,因此服务端也需要对数据进行排序。
所述服务端排序与上述数据源排序相同,如果数据源是正序,这里服务端也是正序;如果数据源是倒序,这里服务端也是倒序,具体排序过程此处不再赘述。
举例说明:
如图4所示,A数据源和B数据源都向服务端返回了N个数据;服务端合并这2N个数据后,还需要对其进行排序。
假设N=3,排序方式为倒序,A数据源返回的3个数据:
数据1,创建时刻2016年5月1日;
数据2,创建时刻2016年10月1日;
数据3,创建时刻2017年5月1日;
B数据源返回的3个数据:
数据4,创建时刻2016年8月1日;
数据5,创建时刻2017年3月1日;
数据6,创建时刻2017年10月1日;
服务端排序后顺序依次为:数据1,数据4,数据2,数据5,数据3,数据6。
步骤260:所述服务端截取排序后前所述查询个数的数据,并记录所述截取数据中的第二创建时刻。
所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻。
步骤270:所述服务端将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
在服务端对合并后数据排序后,可以截取前N个数据,并记录下前N数据的第二创建时刻。
继续参考图4,服务端返回给客户端的数据个数为N个,并还携带有每个数据源的第二创建时刻。
继续沿用上一步骤中的示例,服务端排序后顺序依次为:数据1,数据4,数据2,数据5,数据3,数据6;
由于N=3,因此截取前3个的数据为:数据1,数据4,数据2;
进一步的,由于数据2为该截取数据中A数据源返回的最后一个数据,因此,A数据源的第二创建时刻为数据2的创建时刻T1’即2016年10月1日;
由于数据4为该截取数据中B数据源返回的最后一个数据,因此,B数据源的第二创建时刻为数据4的创建时刻T2’即2016年8月1日;
最终,服务端返回给客户端包括数据1,数据4,数据2,以及T1’和T2’。
值得一提的是,服务端接收X*N个数据,但仅截取前N个数据返回给客户端;而剩余(X-1)*N个数据并不返回给客户端。由于剩余的数据是无用数据,因此,在所述步骤270之后,所述方法还可以包括:
所述服务端清空截取后剩余的数据。
如此,可以提高服务端存储空间的使用率,特别是内存空间使用率。
步骤280:所述客户端接收所述服务端返回的数据和每个数据源的第二创建时刻。
步骤290:所述客户端根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
所述客户端在接收到所述服务端返回的数据和每个数据源的第二创建时刻之后,可以展示所述数据,并根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻,即将每个数据源的第二创建时刻赋值给每个数据源的第一创建时刻。
例如,A数据源的第一创建时刻为2017年5月1日;接收到的A数据源的第二创建时刻为2017年6月1日;则,客户端可以将A数据源的第一创建时刻由2017年5月1日更新为2017年6月1日。
用户翻页,查询下一页数据时,客户端就可以按照重复执行上述步骤210-290。由于客户端本地已经更新了第一创建时刻,下一次查询的数据是本次查询的数据之后的数据。
本实施例,通过传递创建时刻这一参数,可以实现跨多个数据源的分页数据查询;并且无需新建数据表,也就不会造成分页数据查询延迟。
在上述图2所示实施例基础上,如图5所示,所述第一请求中还携带有每个数据源的第一标识号;所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
相应地,所述第二请求中还携带有对应该数据源的第一标识号;
所述步骤240,具体可以包括:
步骤241:所述数据源根据每个数据的创建时刻对所查询到的数据进行排序;
步骤242:在存在相同创建时刻的数据的情况下,所述数据源按照数据的标识号对相同创建时刻的数据进行排序;
步骤243:所述数据源将排序后前所述查询个数的数据返回给所述服务端。
在所述步骤250之后,所述方法还可以包括:
所述步骤251:在存在相同创建时刻的数据的情况下,所述服务端按照数据的标识号对相同创建时刻的数据进行排序。
所述步骤260,具体可以包括:
所述服务端截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻和第二标识号;其中,所述第二标识号为本次查询到数据源返回最后一个数据的标识号。
所述步骤270,具体可以包括:
所述服务端将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻、标识号返回给所述客户端。
所述步骤280,具体可以包括:
所述客户端接收所述服务端返回的数据、每个数据源的第二创建时刻和第二标识号。
所述步骤290,具体可以包括:
步骤291:所述客户端根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻;
步骤292:所述客户端根据所述每个数据源的第二标识号更新所述每个数据源的第一标识号。
通过本实施例,排序时对于相同创建时刻的数据,可以进一步按照标识号进行排序。
以下结合图6介绍本申请以客户端为主体的方法实施例,该实施例可以对应图2:
步骤310:向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻。
值得一提的是,在第一次向服务端发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
步骤320:接收所述服务端返回的数据和每个数据源的第二创建时刻。
步骤330:根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
在图6所示实施例的基础上,另一个具体地实施例可以对应图5:
所述第一请求中还携带有每个数据源的第一标识号;所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
所述步骤320,具体包括:
接收所述服务端返回的数据、每个数据源的第二创建时刻和第二标识号;
所述步骤330,具体包括:
根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻;
根据所述每个数据源的第二标识号更新所述每个数据源的第一标识号。
以下结合图7介绍本申请以服务端为主体的方法实施例,该实施例可以对应图2:
步骤410:接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的 创建时刻。
值得一提的是,在所述客户端第一次发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
步骤420:向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
步骤430:合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
步骤440:截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻。
值得一提的是,在所述步骤440之后,所述方法还可以包括:
所述服务端清空截取后剩余的数据。
如此,可以提高服务端存储空间的使用率,特别是内存空间使用率。
步骤450:将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
在图7所示实施例的基础上,另一个具体地实施例可以对应图5:
所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
所述第二请求中还携带有对应该数据源的第一标识号;
所述步骤430之后,所述方法还可以包括:
在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;
所述步骤440,具体可以包括:
截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻和第二标识号;其中,所述第二标识号为本次查询到数据源返回最后一个数据的标识号;
所述步骤450,具体可以包括:
将所述截取的所述查询个数的数据、所记录的每个数据源的第二创建时刻和第二标识号返回给所述客户端。
以下结合图8介绍本申请以数据源为主体的方法实施例,该实施例可以对应图2:
步骤510:接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;
步骤520:查询属于所述用户标识并且符合所述第一创建时刻的数据;
步骤530:根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
在图8所示实施例的基础上,另一个具体地实施例可以对应图5:
所述第二请求中还携带有对应本数据源的第一标识号;
所述步骤530,具体包括:
根据每个数据的创建时刻对所查询到的数据进行排序;
在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;
将排序后前所述查询个数的数据返回给所述服务端。
与前述图6所述分页查询方法实施例相对应,本说明书还提供了一种分页查询装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,本说明书分页查询装置所在设备的一种硬件结构可以包括处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该分页查询实际功能,还可以包括其他硬件,对此不再赘述。
参见图9,为本说明书一实施例提供的分页查询装置的模块图,所述装置包括:
请求单元610,向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;
接收单元620,接收所述服务端返回的数据和每个数据源的第二创建时刻;
更新单元630,根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
在一个可选的实施例中:
在第一次向服务端发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
在一个可选的实施例中:
所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
所述接收单元620,具体包括:
接收所述服务端返回的数据、每个数据源的第二创建时刻和第二标识号;
所述更新单元630,具体包括:
根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻;
根据所述每个数据源的第二标识号更新所述每个数据源的第一标识号。
与前述图7所述分页查询方法实施例相对应,本说明书还提供了一种分页查询装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,本说明书分页查询装置所在设备的一种硬件结构可以包括处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该分页查询实际功能,还可以包括其他硬件,对此不再赘述。
参见图10,为本说明书一实施例提供的分页查询装置的模块图,所述装置包括:
接收单元710,接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;
请求单元720,向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
排序单元730,合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
处理单元740,截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;
返回单元750,将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
在一个可选的实施例中:
在所述客户端第一次发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
在一个可选的实施例中:
所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
所述第二请求中还携带有对应该数据源的第一标识号;
在所述排序单元730之后,所述装置还包括:
在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;
所述处理单元740,具体包括:
截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻和第二标识号;其中,所述第二标识号为本次查询到数据源返回最后一个数据的标识号;
所述返回单元750,具体包括:
将所述截取的所述查询个数的数据、所记录的每个数据源的第二创建时刻和第二标识号返回给所述客户端。
与前述图8所述分页查询方法实施例相对应,本说明书还提供了一种分页查询装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,本说明书分页查询装置所在设备的一种硬件结构可以包括处理器、网络接口、内存 以及非易失性存储器之外,实施例中装置所在的设备通常根据该分页查询实际功能,还可以包括其他硬件,对此不再赘述。
参见图11,为本说明书一实施例提供的分页查询装置的模块图,所述装置包括:
接收单元810,接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;
查询单元820,查询属于所述用户标识并且符合所述第一创建时刻的数据;
返回单元830,根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端
在一个可选的实施例中:
所述第二请求中还携带有对应本数据源的第一标识号;
所述返回单元830,具体包括:
根据每个数据的创建时刻对所查询到的数据进行排序;
在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;
将排序后前所述查询个数的数据返回给所述服务端。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通 技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图9描述了分页查询装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;
接收所述服务端返回的数据和每个数据源的第二创建时刻;
根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
可选的,在第一次向服务端发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
可选的,所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
所述接收所述服务端返回的数据和每个数据源的第二创建时刻,具体包括:
接收所述服务端返回的数据、每个数据源的第二创建时刻和第二标识号;
所述根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻,具体包括:
根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻;
根据所述每个数据源的第二标识号更新所述每个数据源的第一标识号。
以上图10描述了分页查询装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;
向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;
合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;
截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;
将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
可选的,在所述客户端第一次发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
可选的,所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;
所述第二请求中还携带有对应该数据源的第一标识号;
在所述合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序之后,还包括:
在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;
所述截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻,具体包括:
截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻和第二标识号;其中,所述第二标识号为本次查询到数据源返回最后一个数据的标识号;
所述将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端,具体包括:
将所述截取的所述查询个数的数据、所记录的每个数据源的第二创建时刻和第 二标识号返回给所述客户端。
以上图11描述了分页查询装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;
查询属于所述用户标识并且符合所述第一创建时刻的数据;
根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
可选的,所述第二请求中还携带有对应本数据源的第一标识号;
所述根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端,具体包括:
根据每个数据的创建时刻对所查询到的数据进行排序;
在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;
将排序后前所述查询个数的数据返回给所述服务端。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
Claims (18)
- 一种分页查询方法,所述方法包括:客户端向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;所述服务端在接收所述客户端发起的第一请求后,向每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;所述数据源在接收所述服务端发起的第二请求后,查询属于所述用户标识并且符合所述第一创建时刻的数据;所述数据源根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端;所述服务端合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;所述服务端截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;所述服务端将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端;所述客户端接收所述服务端返回的数据和每个数据源的第二创建时刻;所述客户端根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
- 根据权利要求1所述的方法,在所述客户端第一次向服务端发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
- 根据权利要求1所述的方法,在所述服务端将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给客户端之后,所述方法还包括:所述服务端清空截取后剩余的数据。
- 根据权利要求2所述的方法,所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;所述第二请求中还携带有对应该数据源的第一标识号;所述数据源根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端,具体包括:所述数据源根据每个数据的创建时刻对所查询到的数据进行排序;在存在相同创建时刻的数据的情况下,所述数据源按照数据的标识号对相同创建时刻的数据进行排序;所述数据源将排序后前所述查询个数的数据返回给所述服务端;在所述服务端合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序之后,所述方法还包括:在存在相同创建时刻的数据的情况下,所述服务端按照数据的标识号对相同创建时刻的数据进行排序;所述服务端截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻,具体包括:所述服务端截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻和第二标识号;其中,所述第二标识号为本次查询到数据源返回最后一个数据的标识号;所述服务端将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端,具体包括:所述服务端将所述截取的所述查询个数的数据、所记录的每个数据源的第二创建时刻和第二标识号返回给所述客户端;所述客户端接收所述服务端返回的数据和每个数据源的第二创建时刻,具体包括:所述客户端接收所述服务端返回的数据、每个数据源的第二创建时刻和第二标识号;所述客户端根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻,具体包括:所述客户端根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻;所述客户端根据所述每个数据源的第二标识号更新所述每个数据源的第一标识号。
- 一种分页查询方法,所述方法包括:向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;接收所述服务端返回的数据和每个数据源的第二创建时刻;根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
- 根据权利要求5所述的方法,在第一次向服务端发起分页数据查询的第一请求 时,所述第一请求中携带的每个数据源的第一创建时刻为空。
- 根据权利要求5所述的方法,所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;所述接收所述服务端返回的数据和每个数据源的第二创建时刻,具体包括:接收所述服务端返回的数据、每个数据源的第二创建时刻和第二标识号;所述根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻,具体包括:根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻;根据所述每个数据源的第二标识号更新所述每个数据源的第一标识号。
- 一种分页查询方法,所述方法包括:接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
- 根据权利要求8所述的方法,在所述客户端第一次发起分页数据查询的第一请求时,所述第一请求中携带的每个数据源的第一创建时刻为空。
- 根据权利要求8所述的方法,所述第一请求中还携带有每个数据源的第一标识号,所述第一标识号为所述客户端上一次查询到数据源返回最后一个数据的标识号;所述第二请求中还携带有对应该数据源的第一标识号;在所述合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序之后,所述方法还包括:在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;所述截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻,具体包 括:截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻和第二标识号;其中,所述第二标识号为本次查询到数据源返回最后一个数据的标识号;所述将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端,具体包括:将所述截取的所述查询个数的数据、所记录的每个数据源的第二创建时刻和第二标识号返回给所述客户端。
- 一种分页查询方法,所述方法包括:接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;查询属于所述用户标识并且符合所述第一创建时刻的数据;根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
- 根据权利要求11所述的方法,所述第二请求中还携带有对应本数据源的第一标识号;所述根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端,具体包括:根据每个数据的创建时刻对所查询到的数据进行排序;在存在相同创建时刻的数据的情况下,按照数据的标识号对相同创建时刻的数据进行排序;将排序后前所述查询个数的数据返回给所述服务端。
- 一种分页查询装置,所述装置包括:请求单元,向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;接收单元,接收所述服务端返回的数据和每个数据源的第二创建时刻;更新单元,根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
- 一种分页查询装置,所述装置包括:接收单元,接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询 涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;请求单元,向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;排序单元,合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;处理单元,截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;返回单元,将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
- 一种分页查询装置,所述装置包括:接收单元,接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;查询单元,查询属于所述用户标识并且符合所述第一创建时刻的数据;返回单元,根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
- 一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:向服务端发起分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为上一次查询到数据源返回最后一个数据的创建时刻;接收所述服务端返回的数据和每个数据源的第二创建时刻;根据所述每个数据源的第二创建时刻更新所述每个数据源的第一创建时刻。
- 一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:接收客户端发起的分页数据查询的第一请求;其中,所述分页数据查询涉及至少二个数据源,所述第一请求中携带有用户标识、查询个数和每个数据源的第一创建时刻,所述第一创建时刻为所述客户端上一次查询到数据源返回最后一个数据的创建时刻;向所述分页数据查询涉及的每个数据源发起数据查询的第二请求;其中,所述第二请求携带有所述用户标识、查询个数和对应该数据源的第一创建时刻;合并每个数据源返回的数据,并且按照每个数据的创建时刻对合并后的数据进行排序;截取前所述查询个数的数据,并记录所述截取数据中的第二创建时刻;其中,所述第二创建时刻为本次查询到数据源返回最后一个数据的创建时刻;将所述截取的所述查询个数的数据和所记录的每个数据源的第二创建时刻返回给所述客户端。
- 一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:接收服务端发起的数据查询的第二请求;其中,所述第二请求携带有用户标识、查询个数和对应本数据源的第一创建时刻,所述第一创建时刻为客户端上一次查询到本数据源返回最后一个数据的创建时刻;查询属于所述用户标识并且符合所述第一创建时刻的数据;根据每个数据的创建时刻对所查询到的数据进行排序,将前所述查询个数的数据返回给所述服务端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711172207.7A CN107798135B (zh) | 2017-11-22 | 2017-11-22 | 分页查询方法及装置和电子设备 |
CN201711172207.7 | 2017-11-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019100853A1 true WO2019100853A1 (zh) | 2019-05-31 |
Family
ID=61535416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/108924 WO2019100853A1 (zh) | 2017-11-22 | 2018-09-30 | 分页查询方法及装置和电子设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN107798135B (zh) |
TW (1) | TWI686705B (zh) |
WO (1) | WO2019100853A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798135B (zh) * | 2017-11-22 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 分页查询方法及装置和电子设备 |
CN108848244B (zh) * | 2018-04-02 | 2020-08-21 | 阿里巴巴集团控股有限公司 | 一种分页显示的方法及装置 |
CN110928900B (zh) * | 2018-09-17 | 2021-02-19 | 马上消费金融股份有限公司 | 多表数据的查询方法、装置、终端以及计算机存储介质 |
CN109684528A (zh) * | 2018-12-04 | 2019-04-26 | 深圳店匠科技有限公司 | 跨库分页查询方法、系统和存储介质 |
CN113326302A (zh) * | 2021-05-28 | 2021-08-31 | 网易(杭州)网络有限公司 | 数据查询方法及装置、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425708A (zh) * | 2012-05-25 | 2013-12-04 | 金蝶软件(中国)有限公司 | 一种优化的web分页查询方法及装置 |
JP5579140B2 (ja) * | 2011-09-05 | 2014-08-27 | 日本電信電話株式会社 | 文書検索装置及び方法及びプログラム |
CN105653537A (zh) * | 2014-11-13 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据库应用系统的分页查询方法和装置 |
CN107798135A (zh) * | 2017-11-22 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 分页查询方法及装置和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788260B2 (en) * | 2004-06-14 | 2010-08-31 | Facebook, Inc. | Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation |
CN106886548B (zh) * | 2016-08-03 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN106446080B (zh) * | 2016-09-09 | 2021-08-13 | 华为技术有限公司 | 数据查询的方法、查询服务设备、客户端设备和数据系统 |
CN106599310A (zh) * | 2016-12-29 | 2017-04-26 | 中国建设银行股份有限公司 | 基于多数据源场景的并发查询方法和装置 |
-
2017
- 2017-11-22 CN CN201711172207.7A patent/CN107798135B/zh active Active
-
2018
- 2018-09-18 TW TW107132761A patent/TWI686705B/zh active
- 2018-09-30 WO PCT/CN2018/108924 patent/WO2019100853A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5579140B2 (ja) * | 2011-09-05 | 2014-08-27 | 日本電信電話株式会社 | 文書検索装置及び方法及びプログラム |
CN103425708A (zh) * | 2012-05-25 | 2013-12-04 | 金蝶软件(中国)有限公司 | 一种优化的web分页查询方法及装置 |
CN105653537A (zh) * | 2014-11-13 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据库应用系统的分页查询方法和装置 |
CN107798135A (zh) * | 2017-11-22 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 分页查询方法及装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
DUAN, HANCONG ET AL.: "Dynamical Merging Algorithm in Paging Querying Towards Distributed Structured Data", JOURNAL OF CHINESE COMPUTER SYSTEMS, vol. 34, no. 7, 31 July 2013 (2013-07-31), pages 1504 * |
HAN, BING ET AL.: "Multi-Table Paging Query Optimization Technology in MySql", COMPUTER SYSTEMS & APPLICATIONS, vol. 25, no. 8, 31 August 2016 (2016-08-31), pages 172 - 175 * |
Also Published As
Publication number | Publication date |
---|---|
CN107798135B (zh) | 2020-06-16 |
TWI686705B (zh) | 2020-03-01 |
CN107798135A (zh) | 2018-03-13 |
TW201926085A (zh) | 2019-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019100853A1 (zh) | 分页查询方法及装置和电子设备 | |
TWI717866B (zh) | 跨鏈存證方法及接取方法、裝置、電子設備 | |
US11651008B2 (en) | Method and system for synchronizing databases automatically and periodically | |
US9762670B1 (en) | Manipulating objects in hosted storage | |
WO2017114206A1 (zh) | 短链接处理方法、装置及短链接服务器 | |
US9183271B2 (en) | Big-fast data connector between in-memory database system and data warehouse system | |
CN111344706A (zh) | 区块链上的高容量交易性能的优化 | |
US9721015B2 (en) | Providing a query results page | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
WO2016101758A1 (zh) | 一种跨集群的数据同步方法和装置 | |
WO2016101759A1 (zh) | 一种数据路由方法、数据管理装置和分布式存储系统 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN113064919B (zh) | 数据处理方法、数据存储系统、计算机设备及存储介质 | |
CN106919607B (zh) | 一种数据访问方法、装置及系统 | |
CN112559913B (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
WO2021057515A1 (zh) | 日切数据卸载方法、装置、设备及介质 | |
WO2019237949A1 (zh) | 搜索方法及装置 | |
CN111104408A (zh) | 基于地图数据的数据交换方法、装置及存储介质 | |
EP3082050A1 (en) | Mass data fusion storage method and system | |
CN112464049B (zh) | 号码详单下载方法、装置和设备 | |
CN114490719A (zh) | 一种数据查询方法、装置、电子设备以及存储介质 | |
CN114493598A (zh) | 计算资源管理方法、装置、计算机设备和存储介质 | |
CN113672640A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN107679093B (zh) | 一种数据查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18881089 Country of ref document: EP Kind code of ref document: A1 |