本申请涉及计算机信息处理领域,尤其涉及一种多个数据源的分页查询方法、装置、设备及存储介质。
背景技术:
1、通常情况下,业务数据来自同一数据源的同一数据表,或者,同一数据源的多个数据表,因此,可以通过分页查询命令进行分页查询。随着业务的复杂化,业务数据可能来自多个数据源。这种情况下,可以定时将多个数据源的数据同步到同一数据源,也可以将多个数据源的数据存储到内存中,以进行分页查询。
2、然而,定时将多个数据源的数据同步到同一数据源,无法进行实时查询,且延迟高;将多个数据源的数据存储到内存中,对内存容量的要求高,可能会导致内存溢出。如何优化现有技术中的多个数据源的分页查询方法,是本发明亟需解决的问题。
技术实现思路
1、本申请提供一种多个数据源的分页查询方法、装置、设备及存储介质,用以解决如何优化现有技术中的多个数据源的分页查询方法的问题。
2、第一方面,本申请提供一种多个数据源的分页查询方法,该方法包括:
3、分别查询每个第一数据源中满足查询条件的数据计数;
4、对多个数据计数进行逆序排序,将逆序排序的顺序,依次作为对应的第一数据源的分页查询顺序;
5、根据分页查询顺序,依次对多个第一数据源进行分页查询,分别得到每个已完成分页查询的第一数据源中满足查询条件的查询数据,以及全量数据量,直至全量数据量等于需求数据量,其中,全量数据量是每个已完成分页查询的第一数据源对应的查询数据的数据量之和,需求数据量是根据分页查询的配置参数确定的。
6、在一种可能的设计中,第二数据源是正在进行分页查询的第一数据源;
7、根据分页查询顺序,依次对多个第一数据源进行分页查询,分别得到每个已完成分页查询的第一数据源中满足查询条件的查询数据,以及全量数据量,直至全量数据量等于需求数据量,包括:
8、对第二数据源进行分页查询,得到第二数据源中满足查询条件的查询数据,以及全量数据量;
9、在全量数据量小于需求数据量时,根据分页查询顺序确定第三数据源,以便于通过第三数据源进行补页操作,其中,在分页查询顺序中,第三数据源位于第二数据源之后。
10、在一种可能的设计中,第二数据源对应的查询数据显示在至少一个第一页面上,第二页面是至少一个第一页面中的最后一页;
11、根据分页查询顺序确定第三数据源,以便于通过第三数据源进行补页操作,包括:
12、在分页查询的显示页面为第二页面时,根据全量数据量得到第二页面的补页数据量,并根据分页查询顺序确定第三数据源;
13、对第三数据源进行分页查询,得到第三数据源中满足查询条件的补页数据量个查询数据,其中,补页数据量个查询数据,位于第三数据源中满足查询条件的查询数据中的最前方;
14、将补页数据量个查询数据补页至第二页面。
15、在一种可能的设计中,配置参数包括:查询页数和每页数据量;
16、将补页数据量个查询数据补页至第二页面之后,该方法还包括:
17、在第二页面的页数不小于查询页数,并且,接收到向下翻页指令时,对第三数据源进行分页查询,得到第三数据源中满足查询条件的每页数据量个查询数据,其中,每页数据量个查询数据,位于第三数据源对应的查询数据中,除补页数据量个查询数据外的最前方;
18、将每页数据量个查询数据补页至第三页面,其中,第三页面位于第二页面的下一页。
19、在一种可能的设计中,根据分页查询顺序确定第三数据源,以便于通过第三数据源进行补页操作之后,该方法还包括:
20、生成第二数据源对应的查询数据的快照,并将快照写入本地磁盘。
21、在一种可能的设计中,生成第二数据源对应的查询数据的快照,并将快照写入本地磁盘之后,该方法还包括:
22、在分页查询的显示页面为第三页面,并且,接收到向上翻页指令时,从本地磁盘读取快照。
23、在一种可能的设计中,配置参数包括:查询页数和每页数据量;
24、根据分页查询顺序,依次对多个第一数据源进行分页查询,分别得到每个已完成分页查询的第一数据源中满足查询条件的查询数据,以及全量数据量,直至全量数据量等于需求数据量之前,该方法还包括:
25、根据查询页数和每页数据量,得到需求数据量,其中,需求数据量等于查询页数与每页数据量之积。
26、第二方面,本申请提供一种多个数据源的分页查询装置,该装置包括:
27、计数模块,用于分别查询每个第一数据源中满足查询条件的数据计数;
28、排序模块,用于对多个数据计数进行逆序排序,将逆序排序的顺序,依次作为对应的第一数据源的分页查询顺序;
29、查询模块,用于根据分页查询顺序,依次对多个第一数据源进行分页查询,分别得到每个已完成分页查询的第一数据源中满足查询条件的查询数据,以及全量数据量,直至全量数据量等于需求数据量,其中,全量数据量是每个已完成分页查询的第一数据源对应的查询数据的数据量之和,需求数据量是根据分页查询的配置参数确定的。
30、第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
31、存储器存储计算机执行指令;
32、处理器执行存储器存储的计算机执行指令时,用于实现第一方面
技术实现要素:
的一种多个数据源的分页查询方法。
33、第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时,用于实现第一方面发明内容的一种多个数据源的分页查询方法。
34、第五方面,本申请提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,用于实现第一方面发明内容的一种多个数据源的分页查询方法。
35、本申请提供的一种多个数据源的分页查询方法、装置、设备及存储介质,分别查询每个第一数据源中满足查询条件的数据计数;对多个数据计数进行逆序排序,将逆序排序的顺序,依次作为对应的第一数据源的分页查询顺序;根据分页查询顺序,依次对多个第一数据源进行分页查询,分别得到每个已完成分页查询的第一数据源中满足查询条件的查询数据,以及全量数据量,直至全量数据量等于需求数据量。实现了如下技术效果:获取每个第一数据源的数据计数,以便于根据这些数据计数逆序排序的顺序,依次对多个第一数据源进行分页查询,解决了现有技术中的多个数据源的分页查询方法存在无法进行实时查询,且延迟高的问题;根据分页查询顺序,依次对多个第一数据源进行分页查询,直至全量数据量等于需求数据量,解决了数据量大,对内存容量的要求高,可能会导致内存溢出的问题;对多个数据计数进行逆序排序,将逆序排序的顺序,依次作为对应的第一数据源的分页查询顺序,满足了贪心算法所提出的效果。
1.一种多个数据源的分页查询方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,第二数据源是正在进行所述分页查询的第一数据源;
3.根据权利要求2所述的方法,其特征在于,所述第二数据源对应的查询数据显示在至少一个第一页面上,第二页面是所述至少一个第一页面中的最后一页;
4.根据权利要求3所述的方法,其特征在于,所述配置参数包括:查询页数和每页数据量;
5.根据权利要求4所述的方法,其特征在于,所述根据所述分页查询顺序确定第三数据源,以便于通过所述第三数据源进行补页操作之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述生成所述第二数据源对应的查询数据的快照,并将所述快照写入本地磁盘之后,所述方法还包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述配置参数包括:查询页数和每页数据量;
8.一种多个数据源的分页查询装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时,用于实现如权利要求1至7任一项所述的多个数据源的分页查询方法。