CN110399389B - 数据分页查询方法、装置、设备及存储介质 - Google Patents
数据分页查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110399389B CN110399389B CN201910523425.3A CN201910523425A CN110399389B CN 110399389 B CN110399389 B CN 110399389B CN 201910523425 A CN201910523425 A CN 201910523425A CN 110399389 B CN110399389 B CN 110399389B
- Authority
- CN
- China
- Prior art keywords
- data
- paging
- query
- time
- initial
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000012163 sequencing technique Methods 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003203 everyday effect Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 240000000220 Panda oleosa Species 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及大数据技术领域,公开了一种数据分页查询方法、装置、设备及存储介质。数据分页查询方法包括:根据接收的终端分页查询请求进行数据查询,得到分页数据和分页数据的数量,接收的终端分页查询请求包括每页显示数量和初始查询时刻;判断分页数据的数量是否小于每页显示数量;若分页数据的数量小于每页显示数量,则根据初始查询时刻和目标时长进行数据查询,得到最终查询结果;若分页数据的数量大于或等于每页显示数量,则确定分页数据为最终查询结果;根据预置的排序规则对最终查询结果进行排序,得到排序结果。本发明对大数据进行分页查询后,得到小范围的分页数据,再对分页数据进行集中排序,提高数据查询性能。
Description
技术领域
本发明涉及遍历查询领域,尤其涉及数据分页查询方法、装置、设备及存储介质。
背景技术
现代的信息社会,企业在生产经营过程中往往会产生海量数据,这些海量数据经过企业级数据仓库的抽取、校验、转换、清洗、加载和汇总处理,并存储在数据库内,以便于企业内部的研发人员、运营人员、管理人员或其他用户查询。
相关人员根据自身需要在海量数据库中查询各种信息,例如:在现有的技术中,当应用终端为用户呈现首页或响应用户的搜索请求时,应用后台首先解析用户的请求,并遍历查询数据表的全部数据,再扫描该数据排序,最后呈现给用户。
但是这种扫描并排序全部数据后,再显示给用户的数据查询,当数据量过大时,服务器资源消耗很大,而且也会带来请求处理超时导致数据查询无法完成的问题,同时不能快速检索出用户真正想要获知的信息。
发明内容
本发明的主要目的在于解决分页查询请求检索全部数据再排序,导致数据库压力大、服务器资源消耗大和处理超时无法完成查询的问题。
为实现上述目的,本发明第一方面提供了一种数据分页查询方法,包括:根据接收的终端分页查询请求进行数据查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻;判断所述分页数据的数量是否小于所述每页显示数量;若所述分页数据的数量小于所述每页显示数量,则根据所述初始查询时刻和目标时长进行数据查询,得到最终查询结果;若所述分页数据的数量大于或等于所述每页显示数量,则确定所述分页数据为所述最终查询结果;根据预置的排序规则对所述最终查询结果进行排序,得到排序结果。
可选的,在本发明第一方面的第一种实现方式中,所述根据接收的终端分页查询请求进行分页查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻包括:接收所述终端分页查询请求;解析所述终端分页查询请求,得到所述每页显示数量和所述初始查询时刻;获取初始时长;根据所述初始查询时刻和所述初始时长计算初始开始时刻和结束时刻;根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据和所述分页数据的数量。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述初始查询时刻和所述初始时长计算初始开始时刻和结束时刻包括:判断所述初始查询时刻是否为空;若所述初始查询时刻不为空,则将所述初始查询时刻设置为所述结束时刻;若所述初始查询时刻为空,则将当前时刻设置为所述初始查询时刻,并将所述初始查询时刻作为所述结束时刻;根据所述结束时刻和所述初始时长进行计算,得到所述初始开始时刻。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据和所述分页数据的数量包括:根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据;计算所述分页数据,得到所述分页数据的数量。
可选的,在本发明第一方面的第四种实现方式中,所述判断所述分页数据的数量是否小于所述每页显示数量包括:根据所述分页数据的数量与所述每页显示数量进行差运算,得到计算结果;若所述计算结果大于或者等于0,则确定所述分页数据的数量大于或者等于所述每页显示数量;若所述计算结果小于0,则确定所述分页数据的数量小于所述每页显示数量。
可选的,在本发明第一方面的第五种实现方式中,所述若所述分页数据的数量小于所述每页显示数量,则根据所述初始查询时刻和目标时长进行分页查询,得到最终查询结果包括:若所述分页数据的数量小于所述每页显示数量,则增加所述初始时长,得到目标时长;根据所述结束时刻和所述目标时长进行计算,得到目标开始时刻;根据所述目标开始时刻和所述结束时刻进行分页查询;重复以上过程,直到得到所述最终查询结果。
可选的,在本发明第一方面的第六种实现方式中,所述若所述分页数据的数量小于所述每页显示数量,则增加所述初始时长,得到目标时长之前,所述数据分页查询方法还包括:根据预设响应时长设置最大修改次数,所述预设响应时长为所述终端分页查询请求的发送时刻与所述终端分页查询请求的响应时刻之间的间隔时长。
本发明第二方面提供了一种数据分页查询装置,包括:第一查询单元,用于根据接收的终端分页查询请求进行数据查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻;判断单元,用于判断所述分页数据的数量是否小于所述每页显示数量;第二查询单元,若所述分页数据的数量小于所述每页显示数量,则用于根据所述初始查询时刻和目标时长进行数据查询,得到最终查询结果;确定单元,若所述分页数据的数量大于或等于所述每页显示数量,则用于确定所述分页数据为所述最终查询结果;排序单元,用于根据预置的排序规则对所述最终查询结果进行排序,得到排序结果。
可选的,在本发明第二方面的第一种实现方式中,所述第一查询单元还包括:接收子单元,用于接收所述终端分页查询请求;解析子单元,用于解析所述终端分页查询请求,得到所述每页显示数量和所述初始查询时刻;获取子单元,用于获取初始时长;第一计算子单元,用于根据所述初始查询时刻和所述初始时长计算初始开始时刻和结束时刻;第一查询子单元,用于根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据和所述分页数据的数量。
可选的,在本发明第二方面的第二种实现方式中,所述第一计算子单元具体用于:判断所述初始查询时刻是否为空;若所述初始查询时刻不为空,则将所述初始查询时刻设置为所述结束时刻;若所述初始查询时刻为空,则将当前时刻设置为所述初始查询时刻,将所述初始查询时刻作为所述结束时刻;根据所述结束时刻和所述初始时长进行计算,得到所述初始开始时刻。
可选的,在本发明第二方面的第三种实现方式中,所述第一查询子单元具体用于:根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据;计算所述分页数据,得到所述分页数据的数量。
可选的,在本发明第二方面的第四种实现方式中,所述判断单元具体用于:根据所述分页数据的数量与所述每页显示数量进行差运算,得到计算结果;若所述计算结果大于或者等于0,则确定所述分页数据的数量大于或者等于所述每页显示数量;若所述计算结果小于0,则确定所述分页数据的数量小于所述每页显示数量。
可选的,在本发明第二方面的第五种实现方式中,所述第二查询单元还包括:增加单元,若所述分页数据的数量小于所述每页显示数量,则用于增加所述初始时长,得到目标时长;第二计算子单元,用于根据所述结束时刻和所述目标时长进行计算,得到目标开始时刻;第二查询子单元,用于根据所述目标开始时刻和所述结束时刻进行分页查询;处理子单元,用于重复以上过程,直到得到所述最终查询结果。
可选的,在本发明第二方面的第六种实现方式中,所述数据分页查询装置还包括:设置子单元,用于根据预设响应时长设置最大修改次数,所述预设响应时长为所述终端分页查询请求的发送时刻与所述终端分页查询请求的响应时刻之间的间隔时长。
本发明第三方面提供了一种数据分页查询设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据分页查询设备执行上述各方面所述的方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本发明的第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供的技术方案中,根据接收的终端分页查询请求进行数据查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻;判断所述分页数据的数量是否小于所述每页显示数量;若所述分页数据的数量小于所述每页显示数量,则根据所述初始查询时刻和目标时长进行数据查询,得到最终查询结果;若所述分页数据的数量大于或等于所述每页显示数量,则确定所述分页数据为所述最终查询结果;根据预置的排序规则对所述最终查询结果进行排序,得到排序结果。本发明实施例中,根据初始查询时刻、每页显示数量和初始时长进行分页查询,得到分页数据,同时修改初始时长,确保分页数据的数量大于或者等于每页显示数量,并根据预置的排序规则对分页数据进行排序,提高数据查询性能。
附图说明
图1为本发明实施例中数据分页查询方法的一个实施例示意图;
图2为本发明实施例中数据分页查询方法的另一个实施例示意图;
图3为本发明实施例中数据分页查询装置的一个实施例示意图;
图4为本发明实施例中数据分页查询装置的另一个实施例示意图;
图5为本发明实施例中数据分页查询设备的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据分页查询方法、装置、设备及存储介质,本发明实施例中,根据初始查询时刻、每页显示数量和初始时长进行分页查询,得到分页数据,同时修改初始时长,确保分页数据的数量大于或者等于每页显示数量,并根据预置的排序规则对分页数据进行排序,为用户呈现最新的数据,减少服务器压力,降低服务器资源损耗,提高数据查询性能和页面交互的响应速度。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据分页查询方法的一个实施例包括:
101、根据接收的终端分页查询请求进行数据查询,得到分页数据和分页数据的数量,接收的终端分页查询请求包括每页显示数量和初始查询时刻;
服务器根据接收的终端分页查询请求进行数据查询,得到分页数据和分页数据的数量,接收的终端分页查询请求包括每页显示数量和初始查询时刻。具体的,服务器根据接收的终端分页查询请求参数每页显示数量和初始查询时刻作为查询条件进行分页查询,得到分页请求数据,在此基础上进行计算,得到分页数据的数量。例如,初始查询时刻为2019-01-01 23:59:59,每页显示数量是25,服务器根据初始查询时刻查询,得到分页数据的数量为20。若分页数据的数量为0,则服务器查询的分页数据为空。
需要说明的是,初始查询时刻是当前终端页面查询页的前一页最后一行数据的最后一个时刻,例如2019-01-01 23:59:59。每页显示数量可以是一个固定值,例如25,也可以根据用户需求在终端页面进行设置,例如,10、20、30或者50,为一个可选择的序列值,服务器每次接收终端分页查询请求,得到的每页显示数量可以为10、20、30和50中任一项,具体此处不做限定。
102、判断分页数据的数量是否小于每页显示数量;
服务器判断分页数据的数量是否小于每页显示数量。具体的,服务器根据分页数据的数量与每页显示数量进行差运算,即将分页数据的数量减去每页显示数量,得到计算结果;若计算结果大于或等于0,则服务器确定分页数据的数量大于或者等于每页显示数量;若计算结果小于0,则确定分页数据的数量小于每页显示数量。例如,每页显示数量为25,分页数据的数量为25,分页数据的数量与每页显示数量进行差运算,得到计算结果为0,则服务器确定分页数据的数量等于每页显示数量;每页显示数量为20,分页数据的数量为15,分页数据的数量与每页显示数量进行差运算,得到计算结果为负5,则服务器确定分页数据的数量小于每页显示数量。
需要说明的是,在分页数据的数量为0的情况下,需要判断分页查询的相关数据表是否为空表,若相关数据表为空表,则结束分页查询,服务器直接将空的分页数据发送到终端。
103、若分页数据的数量小于每页显示数量,则根据初始查询时刻和目标时长进行数据查询,得到最终查询结果;
若分页数据的数量小于每页显示数量,则服务器根据初始查询时刻和目标时长进行数据查询,得到最终查询结果。具体的,若分页数据的数量小于每页显示数量,则服务器增加初始时长,得到目标时长;服务器根每页显示数量、初始查询时刻和目标时长进行分页查询,得到最终查询结果,然后服务器执行步骤105。例如,初始查询时刻为2018-12-29 00:00:00,初始时长为前7天,也就是2018-12-22 00:00:00至2018-12-29 00:00:00;增加初始时长后,得到目标时长为前8天,即2018-12-29 00:00:00修改为2018-12-21 00:00:00,服务器查询初始查询时刻开始的前8天范围内的数据。
需要说明的是,最终查询结果的数量为大于或者等于每页显示数量。在得到最终查询结果前,若获取分页数据条数仍然小于每页显示数量,则服务器再次修改初始时长后查询数据。例如,8天目标时长范围内的分页数据的数量为20,依然小于每页显示数量25,则服务器将初始时长扩大到9天,继续分页查询数据,重复以上过程,直到分页数据的数量大于或者等于每页显示数量,服务器得到最终查询结果。由于分页查询请求和响应有时间限制,此处修改初始时长有次数限制,例如需要在3s内,服务器将最终查询结果发送到终端,服务器最多对初始时长修改5次,可以是1次、2次、3次、4次或5次,具体此处不做限定。
104、若分页数据的数量大于或等于每页显示数量,则确定分页数据为最终查询结果;
若分页数据的数量大于或等于每页显示数量,则服务器确定分页数据为最终查询结果。例如,服务器只执行一次终端分页查询请求,得到分页数据的数量为25,同时每页显示数量为25,也就是分页数据的数量与每页显示数量相等,服务器确定该分页数据为最终查询结果,然后执行步骤105。
需要说明的是,最终查询结果为满足分页查询条件的数据,也就是最终查询结果的数量大于或者等于每页显示数量,最终查询结果可以包括查询数据表中全部字段数据,也可以包括查询数据表中的部分字段数据,具体此处不做限定。
105、根据预置的排序规则对最终查询结果进行排序,得到排序结果。
服务器根据预置的排序规则对最终查询结果进行排序,得到排序结果。该预置的排序规则包括升序排序规则和降序排序规则,可以根据相关数据表的一个字段或者几个字段进行排序。例如:服务器在数据库中对数据进行分页查询请求筛选后,再对查询的小范围数据集中排序,预置的排序规则为与初始查询时刻的相关联字段降序排序规则,确保最新的数据最先展示在终端,还可以是其他排序方法,具体此处不做限定。
需要说明的是,排序规则是根据特定语言和区域设置标准指定对字符串数据进行排序和比较的规则。结构化查询语言服务支持在单个数据库中存储具有不同排序规则的对象,字符串的物理存储由排序规则控制,排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则。不同的结构化查询语句在具有不同排序规则设置的不同数据库上下文中运行时,其运行结果可能会不同。排序规则指定了表示每个字符的位模式。它还指定了用于排序和比较字符的规则。排序规则的特征是区分语言、区分大小写、区分重音、区分假名以及区分全半角。
本发明实施例中,根据初始查询时刻、每页显示数量和初始时长进行分页查询,得到分页数据,同时修改初始时长,确保分页数据的数量大于或者等于每页显示数量,并根据预置的排序规则对分页数据进行排序,为用户呈现最新的数据,减少服务器压力,降低服务器资源损耗,提高数据查询性能和页面交互的响应速度。
请参阅图2,本发明实施例中数据分页查询方法的另一个实施例包括:
201、接收终端分页查询请求;
服务器接收终端分页查询请求,该终端分页查询请求以异步请求方式提交到服务器,终端分页查询请求包括每页显示数量和初始查询时刻,针对不同的业务查询,每页显示数量和初始查询时刻都有所不同,例如对租房、百科和新闻等各个频道的发帖量做分析的智能报表应用终端,在各个频道下的每页显示数量就有所不同。针对租房的分页查询请求,每页显示数量为50,初始查询时刻为2019-01-01 08:00:00;而针对新闻的分页查询请求,每页显示数量为100,初始查询时刻为2019-01-01 00:00:00,具体此处不做限定。
202、解析终端分页查询请求,得到每页显示数量和初始查询时刻;
服务器解析终端分页查询请求,得到每页显示数量和初始查询时刻。其中,初始查询时刻是当前终端页面查询页的前一页最后一行数据的最后一个时刻,例如2019-01-0123:59:59。每页显示数量可以是一个固定值,例如25,也可以根据用户需求在终端页面进行设置,例如,10、20、30或者50,为一个可选择的序列值,服务器每次接收终端分页查询请求,得到的每页显示数量可以为10、20、30和50中任一项,具体此处不做限定。
203、根据初始查询时刻和初始时长计算初始开始时刻和结束时刻;
服务器根据初始查询时刻和初始时长计算初始开始时刻和结束时刻。为将最新数据最先呈现给用户,终端页面展示第一页的数据要比第二页的数据更接近当前时刻,初始查询时刻为当前终端页面查询页的前一页最后一行数据的最后一个时刻,那么一般将初始查询时刻作为当前分页查询的结束时刻,服务器根据结束时刻和初始时长计算初始开始时刻。一般第一页查询请求的初始查询时刻默认为空,当初始查询时刻为空时,将当前时刻设置为结束时刻。该初始时长可以动态调整,扩大或者缩小初始时长,其初始时刻也会动态更新,初始时长通过实际应用场景数据统计得到的,例如一个智能报表每周对租房、百科和新闻等各个频道的发帖量做分析,得到每天的发帖数量,再根据每页显示数量,推算初始时长为7天,即7天以内的发帖量可以满足一页查询请求数量。其中,每个频道的初始时长都可以不同,具体此处不做限定。
具体的,服务器首先判断初始查询时刻是否为空;若初始查询时刻不为空,则服务器将初始查询时刻设置为结束时刻,例如,若初始查询时刻2018-01-01 23:59:59,则服务器设置结束时刻为2018-01-01 23:59:59;若初始查询时刻为空,则服务器将当前时刻设置为初始查询时刻,并将初始查询时刻作为结束时刻,例如若初始查询时刻是个空值,空值为0或者空字符串,则服务器获取当前时刻为2018-01-02 08:36:27,并将2018-01-02 08:36:27作为结束时刻,需要说明的是,一般分页查询请求第一页数据的初始查询时刻为空;服务器最后根据结束时刻和初始时长进行计算,得到初始开始时刻,也就是说初始开始时刻startDate是根据结束时刻endDate和初始时长timeScore计算得到,其转化公式如下:
startDate=endDate-timeScore;
例如,初始查询时刻是2019-01-08 00:00:00,为当前查询页的上一页的最后一条数据的最后一个时刻,服务器将该初始查询时刻作为一个结束时刻,预置的初始时长是前7天,根据该公式计算得到初始开始时刻为2019-01-0100:00:00。
需要说明的是,该初始时长前7天是根据数据库中存储数据量以及每页显示数量设定的一个合理的时长范围,该时长范围不能太大,否则会导致查询数据量太大,影响查询速度;该时长范围也不能太小,否则查询数据量达不到每页显示数量,具体此处不做限定。
204、根据初始开始时刻和结束时刻进行分页查询,得到分页数据和分页数据的数量;
服务器根据初始开始时刻和结束时刻进行分页查询,得到分页数据和分页数据的数量。具体的,服务器根据初始开始时刻和结束时刻进行分页查询,得到分页数据;服务器计算分页数据,得到分页数据的数量,也就是服务器根据开始时刻和结束时刻从数据库中进行分页查询,得到分页数据为根据分页查询请求筛选后的小范围数据。例如,数据表中包括10000条数据,服务器根据终端分页查询请求的初始开始时刻和结束时刻,获取分页数据的数量为50。
205、判断分页数据的数量是否小于每页显示数量;
服务器判断分页数据的数量是否小于每页显示数量。具体的,服务器根据分页数据的数量与每页显示数量进行差运算,即将分页数据的数量减去每页显示数量,得到计算结果;若计算结果大于或等于0,则服务器确定分页数据的数量大于或者等于每页显示数量;若计算结果小于0,则确定分页数据的数量小于每页显示数量。例如,每页显示数量为25,分页数据的数量与每页显示数量进行差运算,得到计算结果为0,则服务器确定分页数据的数量等于每页显示数量;每页显示数量为20,分页数据的数量为15,分页数据的数量与每页显示数量进行差运算,得到计算结果为负5,则服务器确定分页数据的数量小于每页显示数量。
需要说明的是,在分页数据的数量为0的情况下,需要判断分页查询的相关数据表是否为空表,具体的,服务器查询相关数据表的全部数据的数量,若全部数据的数量大于0,则相关数据表不为空表,若全部数据的数量等于0,则相关数据表为空表。若相关数据表为空表,则结束分页查询,服务器直接将空的分页数据发送到终端。
206、若分页数据的数量小于每页显示数量,则根据结束时刻和目标时长进行数据查询,得到最终查询结果;
若分页数据的数量小于每页显示数量,则服务器根据结束时刻和目标时长进行数据查询,得到最终查询结果。具体的,若分页数据的数量小于每页显示数量,则服务器增加初始时长,得到目标时长;根据结束时刻和目标时长进行计算,得到目标开始时刻;根据目标开始时刻和结束时刻进行分页查询;重复以上过程,直到得到最终查询结果,然后服务器执行步骤208。例如,结束时刻为2018-12-29 00:00:00,初始时长为前7天,也就是2018-12-22 00:00:00至2018-12-29 00:00:00;增加初始时长后,得到目标时长为前8天,即将2018-12-29 00:00:00修改为2018-12-21 00:00:00,服务器查询初始查询时刻开始的前8天范围内的数据。
需要说明的是,最终查询结果的数量为大于或者等于每页显示数量。在得到最终查询结果前,若获取分页数据条数仍然小于每页显示数量,则服务器再次修改初始时长后查询数据。例如,8天目标时长范围内的分页数据的数量为20,依然小于每页显示数量25,则服务器将初始时长扩大到9天,继续分页查询数据,重复以上过程,直到分页查询数据等于每页显示数量,服务器得到最终查询结果。由于分页查询请求和响应有时间限制,此处修改初始时长有次数限制,例如需要在3s内,服务器发送分页数据给终端,最多对初始时长修改5次,可以是1次、2次、3次、4次或5次,具体此处不做限定。
207、若分页数据的数量大于或等于每页显示数量,则确定分页数据为最终查询结果;
若分页数据的数量大于或等于每页显示数量,则服务器确定分页数据为最终查询结果。例如,服务器只执行一次终端分页查询请求,得到分页数据的数量为25,同时每页显示数量为25,也就是分页数据的数量与每页显示数量相等,服务器确定该分页数据为最终查询结果,然后执行步骤208。
需要说明的是,最终查询结果为满足分页查询条件的数据,也就是最终查询结果的数量等于每页显示数量,最终查询结果可以包括查询数据表中全部字段数据,也可以包括查询数据表中的部分字段数据,具体此处不做限定。
208、根据预置的排序规则对最终查询结果进行排序,得到排序结果。
服务器根据预置的排序规则对最终查询结果进行排序,得到排序结果。具体的,服务器根据初始开始时刻和结束时刻确定查询数据区间,对数据区间进行排序后,再根据每页显示数量确定分页查询数据量。该预置的排序规则包括升序排序规则和降序排序规则,可以根据相关数据表的一个字段或者几个字段进行排序。例如:服务器在数据库中对数据进行分页查询请求筛选后,再对查询的小范围数据集中排序,预置的排序规则为与初始查询时刻的相关联字段降序排序规则,确保最新的数据最先展示在终端,还可以是其他排序方法,具体此处不做限定。
进一步地,该预置的排序规则可以由终端发送,服务器在接收到终端发送的分页查询请求中还包括排序规则,例如,按照帖子热度进行降序排序,或者按照数据创建时间的先后顺序进行降序排序,具体此处不做限定。
需要说明的是,排序规则是根据特定语言和区域设置标准指定对字符串数据进行排序和比较的规则。结构化查询语言服务支持在单个数据库中存储具有不同排序规则的对象,字符串的物理存储由排序规则控制,排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则。不同的结构化查询语句在具有不同排序规则设置的不同数据库上下文中运行时,其运行结果可能会不同。排序规则的特征是区分语言、区分大小写、区分重音、区分假名以及区分全半角。例如,最终查询结果数据的唯一标识范围1001至1025顺序排列,共25条数据,排序后的排序结果的唯一标识为1025至1001逆序排列。
本发明实施例中,根据初始查询时刻、每页显示数量和初始时长进行分页查询,得到分页数据,同时修改初始时长,确保分页数据的数量大于或者等于每页显示数量,并根据预置的排序规则对分页数据进行排序,为用户呈现最新的数据,减少服务器压力,降低服务器资源损耗,提高数据查询性能和页面交互的响应速度。
上面对本发明实施例中数据分页查询方法进行了描述,下面对本发明实施例中数据分页查询装置进行描述,请参阅图3,本发明实施例中数据分页查询装置一个实施例包括:
第一查询单元301,用于根据接收的终端分页查询请求进行数据查询,得到分页数据和分页数据的数量,接收的终端分页查询请求包括每页显示数量和初始查询时刻;
判断单元302,用于判断分页数据的数量是否小于每页显示数量;
第二查询单元303,若分页数据的数量小于每页显示数量,则用于根据初始查询时刻和目标时长进行数据查询,得到最终查询结果;
确定单元304,若分页数据的数量大于或等于每页显示数量,则用于确定分页数据为最终查询结果;
排序单元305,用于根据预置的排序规则对最终查询结果进行排序,得到排序结果。
本发明实施例中,根据初始查询时刻、每页显示数量和初始时长进行分页查询,得到分页数据,同时修改初始时长,确保分页数据的数量大于或者等于每页显示数量,并根据预置的排序规则对分页数据进行排序,为用户呈现最新的数据,减少服务器压力,降低服务器资源损耗,提高数据查询性能和页面交互的响应速度。
请参阅图4,本发明实施例中数据分页查询装置的另一个实施例包括:
第一查询单元301,用于根据接收的终端分页查询请求进行数据查询,得到分页数据和分页数据的数量,接收的终端分页查询请求包括每页显示数量和初始查询时刻;
判断单元302,用于判断分页数据的数量是否小于每页显示数量;
第二查询单元303,若分页数据的数量小于每页显示数量,则用于根据初始查询时刻和目标时长进行数据查询,得到最终查询结果;
确定单元304,若分页数据的数量大于或等于每页显示数量,则用于确定分页数据为最终查询结果;
排序单元305,用于根据预置的排序规则对最终查询结果进行排序,得到排序结果。
可选的,第一查询单元301还包括:
接收子单元3011,用于接收终端分页查询请求;
解析子单元3012,用于解析终端分页查询请求,得到每页显示数量和初始查询时刻;
获取子单元3013,用于获取初始时长;
第一计算子单元3014,用于根据初始查询时刻和初始时长计算初始开始时刻和结束时刻;
第一查询子单元3015,用于根据初始开始时刻和结束时刻进行分页查询,得到分页数据和分页数据的数量。
可选的,第一计算子单元3014还可以具体用于:
判断初始查询时刻是否为空;
若初始查询时刻不为空,则将初始查询时刻设置为结束时刻;
若初始查询时刻为空,则将当前时刻设置为初始查询时刻,将初始查询时刻作为结束时刻;
根据结束时刻和初始时长进行计算,得到初始开始时刻。
可选的,第一查询子单元3015还可以具体用于:
根据初始开始时刻和结束时刻进行分页查询,得到分页数据;
计算分页数据,得到分页数据的数量。
可选的,判断单元302还可以具体用于:
根据分页数据的数量与每页显示数量进行差运算,得到计算结果;
若计算结果大于或者等于0,则确定分页数据的数量大于或者等于每页显示数量;
若计算结果小于0,则确定分页数据的数量小于每页显示数量。
可选的,第二查询单元303还包括:
增加子单元3031,若分页数据的数量小于每页显示数量,则用于增加初始时长,得到目标时长;
第二计算子单元3032,用于根据结束时刻和目标时长进行计算,得到目标开始时刻;
第二查询子单元3033,用于根据目标开始时刻和结束时刻进行分页查询;
处理子单元3034,用于重复以上过程,直到得到最终查询结果。
可选的,第二查询单元303还包括:
设置子单元3035,用于根据预设响应时长设置最大修改次数,预设响应时长为终端分页查询请求的发送时刻与终端分页查询请求的响应时刻之间的间隔时长。
本发明实施例中,根据初始查询时刻、每页显示数量和初始时长进行分页查询,得到分页数据,同时修改初始时长,确保分页数据的数量大于或者等于每页显示数量,并根据预置的排序规则对分页数据进行排序,为用户呈现最新的数据,减少服务器压力,降低服务器资源损耗,提高数据查询性能和页面交互的响应速度。
上面图3和图4从模块化功能实体的角度对本发明实施例中的数据分页查询装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据分页查询设备进行详细描述。
图5是本发明实施例提供的一种数据分页查询设备的结构示意图,该数据查询设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序509或数据509的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据分页查询中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在数据分页查询设备500上执行存储介质508中的一系列指令操作。
数据分页查询设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的数据分页查询设备结构并不构成对数据分页查询设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种数据分页查询方法,其特征在于,包括:
根据接收的终端分页查询请求进行数据查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻;所述根据接收的终端分页查询请求进行分页查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻包括:
接收所述终端分页查询请求;
解析所述终端分页查询请求,得到所述每页显示数量和所述初始查询时刻;
获取初始时长;初始时长通过实际应用场景数据统计得到,所述初始时长通过实际应用场景数据统计得到包括:智能报表每周对租房、百科和新闻各个频道的发帖量做分析,得到每天的发帖数量,再根据每页显示数量,推算初始时长,每个频道的初始时长不同;
根据所述初始查询时刻和所述初始时长计算初始开始时刻和结束时刻;
根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据和所述分页数据的数量,各个频道下的每页显示数量不同;判断所述分页数据的数量是否小于所述每页显示数量;
若所述分页数据的数量小于所述每页显示数量,则根据所述初始查询时刻和目标时长进行数据查询,得到最终查询结果;
若所述分页数据的数量大于或等于所述每页显示数量,则确定所述分页数据为所述最终查询结果;
根据预置的排序规则对所述最终查询结果进行排序,得到排序结果。
2.根据权利要求1所述的数据分页查询方法,其特征在于,所述根据所述初始查询时刻和所述初始时长计算初始开始时刻和结束时刻包括:
判断所述初始查询时刻是否为空;
若所述初始查询时刻不为空,则将所述初始查询时刻设置为所述结束时刻;
若所述初始查询时刻为空,则将当前时刻设置为所述初始查询时刻,并将所述初始查询时刻作为所述结束时刻;
根据所述结束时刻和所述初始时长进行计算,得到所述初始开始时刻。
3.根据权利要求1所述的数据分页查询方法,其特征在于,所述根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据和所述分页数据的数量包括:
根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据;
计算所述分页数据,得到所述分页数据的数量。
4.根据权利要求1所述的数据分页查询方法,其特征在于,所述判断所述分页数据的数量是否小于所述每页显示数量包括:
根据所述分页数据的数量与所述每页显示数量进行差运算,得到计算结果;
若所述计算结果大于或者等于0,则确定所述分页数据的数量大于或者等于所述每页显示数量;
若所述计算结果小于0,则确定所述分页数据的数量小于所述每页显示数量。
5.根据权利要求2所述的数据分页查询方法,其特征在于,所述若所述分页数据的数量小于所述每页显示数量,则根据所述初始查询时刻和目标时长进行分页查询,得到最终查询结果包括:
若所述分页数据的数量小于所述每页显示数量,则增加所述初始时长,得到目标时长;
根据所述结束时刻和所述目标时长进行计算,得到目标开始时刻;
根据所述目标开始时刻和所述结束时刻进行分页查询;
重复以上过程,直到得到所述最终查询结果。
6.根据权利要求5中所述的数据分页查询方法,其特征在于,所述若所述分页数据的数量小于所述每页显示数量,则增加所述初始时长,得到目标时长之前,所述方法还包括:
根据预设响应时长设置最大修改次数,所述预设响应时长为所述终端分页查询请求的发送时刻与所述终端分页查询请求的响应时刻之间的间隔时长。
7.一种数据分页查询装置,其特征在于,所述数据分页查询装置包括:
第一查询单元,用于根据接收的终端分页查询请求进行数据查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻;所述根据接收的终端分页查询请求进行分页查询,得到分页数据和所述分页数据的数量,所述接收的终端分页查询请求包括每页显示数量和初始查询时刻包括:
接收所述终端分页查询请求;
解析所述终端分页查询请求,得到所述每页显示数量和所述初始查询时刻;
获取初始时长;初始时长通过实际应用场景数据统计得到,所述初始时长通过实际应用场景数据统计得到包括:智能报表每周对租房、百科和新闻各个频道的发帖量做分析,得到每天的发帖数量,再根据每页显示数量,推算初始时长,每个频道的初始时长不同;
根据所述初始查询时刻和所述初始时长计算初始开始时刻和结束时刻;
根据所述初始开始时刻和所述结束时刻进行分页查询,得到所述分页数据和所述分页数据的数量,各个频道下的每页显示数量不同;判断单元,用于判断所述分页数据的数量是否小于所述每页显示数量;
第二查询单元,若所述分页数据的数量小于所述每页显示数量,则用于根据所述初始查询时刻和目标时长进行数据查询,得到最终查询结果;
确定单元,若所述分页数据的数量大于或等于所述每页显示数量,则用于确定所述分页数据为所述最终查询结果;
排序单元,用于根据预置的排序规则对所述最终查询结果进行排序,得到排序结果。
8.一种数据分页查询设备,其特征在于,所述数据分页查询设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据分页查询设备执行如权利要求1-6中任意一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910523425.3A CN110399389B (zh) | 2019-06-17 | 2019-06-17 | 数据分页查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910523425.3A CN110399389B (zh) | 2019-06-17 | 2019-06-17 | 数据分页查询方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399389A CN110399389A (zh) | 2019-11-01 |
CN110399389B true CN110399389B (zh) | 2023-11-28 |
Family
ID=68323220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910523425.3A Active CN110399389B (zh) | 2019-06-17 | 2019-06-17 | 数据分页查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399389B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928902A (zh) * | 2019-11-27 | 2020-03-27 | 杭州安恒信息技术股份有限公司 | 针对分页获取云平台终端数据的查询方法和系统 |
CN112306604B (zh) * | 2020-08-21 | 2022-09-23 | 海信视像科技股份有限公司 | 一种传输文件的进度显示方法及显示设备 |
CN114297322A (zh) * | 2021-12-31 | 2022-04-08 | 深圳Tcl新技术有限公司 | 数据处理方法、装置、终端和存储介质 |
CN114661770A (zh) * | 2022-04-11 | 2022-06-24 | 平安资产管理有限责任公司 | 数据分页查询方法、装置、计算机设备及可读存储介质 |
CN116383449B (zh) * | 2023-04-13 | 2024-05-24 | 江西数字网联信息安全技术有限公司 | 基于链表的crud数据顺序的实现方法、系统及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934202B1 (en) * | 2015-03-30 | 2018-04-03 | EMC IP Holding Company LLC | Managing paginated data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040236726A1 (en) * | 2003-05-19 | 2004-11-25 | Teracruz, Inc. | System and method for query result caching |
US8996486B2 (en) * | 2004-12-15 | 2015-03-31 | Applied Invention, Llc | Data store with lock-free stateless paging capability |
GB2431742A (en) * | 2005-10-27 | 2007-05-02 | Hewlett Packard Development Co | A method of retrieving data from a data repository |
CN104281582B (zh) * | 2013-07-02 | 2017-08-25 | 阿里巴巴集团控股有限公司 | 分页显示控制方法和装置 |
-
2019
- 2019-06-17 CN CN201910523425.3A patent/CN110399389B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934202B1 (en) * | 2015-03-30 | 2018-04-03 | EMC IP Holding Company LLC | Managing paginated data |
Also Published As
Publication number | Publication date |
---|---|
CN110399389A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399389B (zh) | 数据分页查询方法、装置、设备及存储介质 | |
US9940399B2 (en) | Methods and systems for pathing analysis | |
CN108182258B (zh) | 分布式的数据分析系统及方法 | |
US11169994B2 (en) | Query method and query device | |
JP2002523814A (ja) | 通常表現を使用するトランザクションの認識および予測 | |
CN1896990A (zh) | 类别设定的支持方法和装置 | |
CN112364014B (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN104636502A (zh) | 一种查询系统的数据加速查询方法 | |
US20020143667A1 (en) | Method and system for inventory management | |
CN109885729B (zh) | 一种显示数据的方法、装置及系统 | |
CN111258819A (zh) | MySQL数据库备份文件的数据获取方法、装置和系统 | |
CN113806651A (zh) | 一种数据缓存方法、装置、服务器及存储介质 | |
CN106909647B (zh) | 一种数据检索方法及装置 | |
CN110069489B (zh) | 一种信息处理方法、装置、设备及计算机可读存储介质 | |
CN113377817A (zh) | 数据处理方法、系统、设备及存储介质 | |
CN107545039B (zh) | 关键词的指数获取方法和装置、计算机设备和存储介质 | |
CN115905373B (zh) | 一种数据查询以及分析方法、装置、设备及存储介质 | |
CN112559579A (zh) | 一种红外码库的高效对码方法、装置、设备和介质 | |
CN110134812A (zh) | 一种人脸搜索方法及其装置 | |
CN115689656B (zh) | 基于物联网的广告投放方法、装置、设备及存储介质 | |
CN115827663A (zh) | 一种物化视图的方法以及相关设备 | |
CN112765118B (zh) | 一种日志查询方法、装置、设备及存储介质 | |
CN111382342B (zh) | 一种热搜词的获取方法、装置、设备及存储介质 | |
CN114661753A (zh) | 话单检索方法及装置 | |
CN116541801B (zh) | 多设备信息集中处理系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |