CN113326302A - 数据查询方法及装置、存储介质 - Google Patents

数据查询方法及装置、存储介质 Download PDF

Info

Publication number
CN113326302A
CN113326302A CN202110595201.0A CN202110595201A CN113326302A CN 113326302 A CN113326302 A CN 113326302A CN 202110595201 A CN202110595201 A CN 202110595201A CN 113326302 A CN113326302 A CN 113326302A
Authority
CN
China
Prior art keywords
query
paging
data
paging query
time variable
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.)
Pending
Application number
CN202110595201.0A
Other languages
English (en)
Inventor
张展宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110595201.0A priority Critical patent/CN113326302A/zh
Publication of CN113326302A publication Critical patent/CN113326302A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开关于一种数据查询方法及装置、存储介质。其中,该方法包括:接收来自于客户端的当前分页查询请求;从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回上述目标分页查询结果至上述客户端。本公开解决了现有技术中不受新增数据影响的分页查询方法的查询准确性和查询性能较低的技术问题。

Description

数据查询方法及装置、存储介质
技术领域
本公开涉及数据处理领域,具体而言,涉及一种数据查询方法及装置、存储介质。
背景技术
分页查询是一种被广泛应用的操作系统中存储器管理的技术,可以使得电脑的主存使用存储在辅助存储器中的数据,操作系统将辅助存储器中的数据分区成固定大小的区块,称为页。
但是,由于一些已经被浏览过的内容的重复出现,无法实现不受新数据影响实现分页查询,并且会造成审核人员的视觉疲劳以及审核效率降低,例如,如图1所示,现有技术中采用每一页的页码和每页的大小来计算偏移量,并利用偏移量来实现分页查询的处理方法,由于前端和后端的时间可能会存在偏差,返回的数据可能并不是前端想要查询的时间段的,前端和后端会存在一定的耦合,从而影响查询结果和数据库的查询性能。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开实施例提供了一种数据查询方法及装置、存储介质,以至少解决现有技术中不受新增数据影响的分页查询方法的查询准确性和查询性能较低的技术问题。
根据本公开实施例的一个方面,提供了一种数据查询方法,包括:接收来自于客户端的当前分页查询请求;从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回上述目标分页查询结果至上述客户端。
根据本公开实施例的另一方面,还提供了一种数据查询方法,包括:发送当前分页查询请求至服务端,其中,上述服务端用于从上述当前分页查询请求中解析得到时间变量和查询数据量,并依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;接收上述服务端返回的上述目标分页查询结果。
根据本公开实施例的另一方面,还提供了一种数据查询装置,包括:第一接收模块,用于接收来自于客户端的当前分页查询请求;解析模块,用于从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;查询模块,用于依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回模块,用于返回上述目标分页查询结果至上述客户端。
根据本公开实施例的另一方面,还提供了一种数据查询装置,包括:发送模块,用于发送当前分页查询请求至服务端,其中,上述服务端用于从上述当前分页查询请求中解析得到时间变量和查询数据量,并依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;第二接收模块,用于接收上述服务端返回的上述目标分页查询结果。
根据本公开实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行任意一项上述的数据查询方法。
在本公开实施例中,通过接收来自于客户端的当前分页查询请求;从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回上述目标分页查询结果至上述客户端,达到了不受新增数据影响实现分页查询,且提升分页查询的查询准确性和查询性能的目的,从而实现了提升分页查询的查询效率的技术效果,进而解决了现有技术中不受新增数据影响的分页查询方法的查询准确性和查询性能较低的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是根据现有技术的一种数据查询方法的流程图;
图2是根据本公开实施例的一种数据查询方法的流程图;
图3是根据本公开实施例的一种可选的数据查询方法的流程图;
图4是根据本公开实施例的另一种数据查询方法的流程图;
图5是根据本公开实施例的一种数据查询装置的结构示意图;
图6是根据本公开实施例的一种数据查询装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
仍如图1所示例的应用场景中,假如员工A是一名审核主播封面的审核工作人员,需要在审核后台中检查主播的封面有没有违规,在某一时刻对数据库中的数据按照时间降序排列,则所有的数据记录排列可以记为:d1,d2,d3,d4,d5,d6,d7......dn,采用分页的方式查询,如果每页查询5条,则查询到第一页的数据记录是:d1,d2,d3,d4,d5;员工A检查完第一页的以上5条数据后准备跳转到第二页,正常而言,第二页查询到的数据记录应该是:d6,d7,d8,d9,d10,但是如果由于在员工A浏览第一页数据的过程中,又有一名主播上线并上传了封面,于是数据库中插入了一条新的记录,那么在请求第二页时返回的数据记录变成:d5,d6,d7,d8,d9,其中,由于d5本来是在第一页浏览过的,由于有新数据的插入导致被挤到了第二页。
但是,上述示例场景中的浏览体验是比较不友好的,由于一些已经被浏览过的内容的重复出现,会造成员工A的视觉疲劳以及降低其审核效率,为了实现不受新数据影响的分页查询,需要提供一种不受新增数据影响的分页查询方法。如图1所示,现有技术中比较常用的方法是:前端在打开页面时,将当前客户端的时间缓存下来,记为timestamp,以后的每次请求都将这个时间点传给后端,后端通过这个时间点作为查询条件,并通过页码pageIndex和每页的大小pageSize来计算出偏移量,并利用这个偏移量来分页查询,但是,上述方法的缺陷:前端和后端的时间可能会存在偏差,返回的数据可能并不是前端想要查询的那个时间段的,前后端会存在一定的耦合性,因为后端在计算offset偏移量时需要用到pageSize和pageIndex,而pageIndex的初始值是从0开始还是从1开始,会对查询结果有影响,需要两端提前协商;随着页码(pageIndex)的增加,偏移量(offset)就会变得越来越大,可能会对数据库的查询性能有一定的影响。
根据本公开实施例,提供了一种数据查询方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例的技术方案可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的数据查询方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的数据查询方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。该方法实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(Global System of Mobile communication,简称为GSM)系统、码分多址(Code Division Multiple Access,简称为CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)系统、通用分组无线业务(General Packet Radio Service,简称为GPRS)、长期演进(Long Term Evolution,简称为LTE)系统、LTE频分双工(Frequency Division Duplex,简称为FDD)系统、LTE时分双工(Time Division Duplex,简称为TDD)、通用移动通信系统(Universal MobileTelecommunication System,简称为UMTS)、全球互联微波接入(WorldwideInteroperability for Microwave Access,简称为WiMAX)通信系统或5G系统等。可选地,多个移动终端之间可以进行设备到设备(Device to Device,简称为D2D)通信。可选地,5G系统或5G网络又被称为新无线(New Radio,简称为NR)系统或NR网络。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读非易失性存储介质中。
图2是根据本公开实施例的一种数据查询方法的流程图,如图2所示,该方法包括如下步骤:
步骤S102,接收来自于客户端的当前分页查询请求;
步骤S104,从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;
步骤S106,依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;
步骤S108,返回上述目标分页查询结果至上述客户端。
在本公开实施例中,通过接收来自于客户端的当前分页查询请求;从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回上述目标分页查询结果至上述客户端,达到了不受新增数据影响实现分页查询,且提升分页查询的查询准确性和查询性能的目的,从而实现了提升分页查询的查询效率的技术效果,进而解决了现有技术中不受新增数据影响的分页查询方法的查询准确性和查询性能较低的技术问题。
可选的,本公开实施例中的执行主体为服务端,例如,服务器;作为一种可选的实施例,由于在一般情况下,数据库中存储的数据记录,通常会给其加上对应的创建时间(createTime),因此,本公开的发明人经过一些探索后,发现可以巧妙的利用上述技术构思来实现不受新数据干扰的分页查询方案。
作为一种可选的实施例,如图3所示,客户端(即前端)响应于接收到的页面显示指令,显示分页请求查询页面,并定义一个时间变量maxTime和上述查询数据量pageSize,上述时间变量的初始值为空值null;并将上述时间变量和上述查询数据量封装入一个分页查询请求,得到当前分页查询请求,并发送上述当前分页查询请求至服务端(后端)。例如,客户端通过基于HTPP(应用层通信协议)的Ajax(异步读取数据的技术)协议发送上述当前分页查询请求至服务端。
可选的,在本公开实施例中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量。
例如,上述时间变量MaxTime可以为历史分页查询结果中最晚创建的一条数据记录的创建时间,时间变量maxTime的主要作用是作为查询条件,用于限定查询目标数据库中创建时间比它要晚的数据,上述查询数据量pageSize表示请求分页的大小,也即每次请求数据的条数。
在本公开实施例中,服务端依据上述时间变量maxTime和查询数据量pageSize进行分页查询,当目标数据库的数据量比较大时,一次性查询所有的结果就会变得很慢,为了提高查询效率,一般采用limit关键字和offset关键字的方式实现分页查询的功能。例如,select*from Table limit 10offset 5,即表示对目标数据库的数据进行分页,每页10条数据,并且返回第5页的数据。
可选的,在本公开实施例中,在分页查询的过程中执行条件查询,该条件查询是指只返回给定限制条件的数据,一般使用where关键字加逻辑语句组成,例如:
select*from Table
where createTime<=1616639230765
需要说明的是,上述实现代码即表示从目标数据库中查询创建时间小于1616639230765的数据记录。
在本公开实施例中,服务端将查询到的目标分页查询结果返回给客户端,客户端接收到响应结果后,基于上述目标分页查询结果渲染上述分页请求查询页面中的分页查询列表;展示上述分页查询列表;并将最晚的一条数据记录创建时刻赋值给上述时间变量,等待请求查询下一页数据的操作,再重复执行上述分页查询操作。
在一种可选的实施例中,以学生信息表为例进行说明,学生信息表中的每一行都包含学生的姓名、性别、年龄等,因此,每一行是一个数据记录。
作为一种可选的实施例,步骤S104,从上述当前分页查询请求中解析得到时间变量包括:
步骤S1040,解析上述当前分页查询请求,确定与上述当前分页查询请求相邻的上一分页查询请求;
步骤S1042,获取上述上一分页查询请求对应的上述历史分页查询结果,以及上述历史分页查询结果中第一数据记录的创建时刻;
步骤S1044,将上述第一数据记录的创建时刻赋值给上述时间变量。
可选的,上述第一数据记录为上述历史分页查询结果中最晚创建的一条数据记录。因此,在本公开实施例中,上述时间变量MaxTime可以为历史分页查询结果中最晚创建的一条数据记录的创建时间,时间变量maxTime的主要作用是作为查询条件,用于限定查询目标数据库中创建时间比它要晚的数据,上述查询数据量pageSize表示请求分页的大小,也即每次请求数据的条数。
通过本公开上述实施例,在执行分页查询时,以最晚一条记录的创建时间作为查询条件进行分页查询,可以达到不受新增数据影响实现分页查询,且提升分页查询的查询准确性和查询性能的目的。
在一种可选的实施例中,在依据上述时间变量和上述查询数据量对目标数据库执行分页查询之前,上述方法还包括:
步骤S202,检测上述时间变量是否为空值;
步骤S204,若上述时间变量是上述空值,则获取服务端的当前时刻,并将上述当前时刻赋值给上述时间变量。
作为一种可选的实施例,如果上述当前分页查询请求为第一次的分页查询请求,则由于第一次的分页查询请求还没有与其对应的分页查询结果,因此,当前的时间变量为空值null。在服务端解析得到时间变量和查询数据量之后,服务端需要判断时间变量是否为空值,如果该时间变量是空值,则读取服务端的当前时刻信息,将上述当前时刻赋值给上述时间变量;另外,由于历史分页查询结果中目标数据记录的创建时刻已赋值给时间变量,为否表明已存在有效赋值,因此,如果该时间变量不为空值则不作处理,直接采用该时间变量执行后续的分页查询即可。
在一种可选的实施例中,依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,包括:
步骤S302,采用上述时间变量作为第一查询条件,确定创建时间晚于上述时间变量的第一查询数据;
步骤S304,采用上述查询数据量作为第二查询条件,对上述第一查询数据进行分页处理得到多个分页,并确定每个上述分页中包含的数据量;以及从上述多个分页中选取目标分页,作为上述目标分页查询结果。
在本公开实施例中,可以但不限于将时间变量作为第一查询条件,创建时间晚于上述时间变量的第一查询数据,以及将查询数据量作为第二查询条件,对上述第一查询数据进行分页处理得到多个分页,并确定每个上述分页中包含的数据量;以及从上述多个分页中选取目标分页,作为上述目标分页查询结果;本公开实施例即是在分页查询时,以最晚一条记录的创建时间作为查询条件进行分页查询,达到了不受新增数据影响实现分页查询,且提升分页查询的查询准确性和查询性能的目的,从而实现了提升分页查询的查询效率的技术效果,进而解决了现有技术中不受新增数据影响的分页查询方法的查询准确性和查询性能较低的技术问题。
通过本公开上述实施例,可以实现将目标数据库中的数据降序排序,并且查询到pageSize条createTime值小于maxTime的数据记录。其中,上述查询数据量pageSize是一个数据变量;createTime是数据记录的一个固有属性,表示记录的创建时间(时间戳),maxTime是时间变量,表示请求查询的时间上限。假如,可以但不限于设置pageSize的值是10,maxTime是1616639230765,即将目标数据库中的数据降序排序并且查询10条createTime值小于1616639230765的数据记录。
图4是根据本公开实施例的一种数据查询方法的流程图,如图4所示,该方法包括如下步骤:
步骤S402,发送当前分页查询请求至服务端,其中,上述服务端用于从上述当前分页查询请求中解析得到时间变量和查询数据量,并依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;
步骤S404,接收上述服务端返回的上述目标分页查询结果。
在本公开实施例中,通过发送当前分页查询请求至服务端,其中,上述服务端用于从上述当前分页查询请求中解析得到时间变量和查询数据量,并依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;接收上述服务端返回的上述目标分页查询结果,达到了不受新增数据影响实现分页查询,且提升分页查询的查询准确性和查询性能的目的,从而实现了提升分页查询的查询效率的技术效果,进而解决了现有技术中不受新增数据影响的分页查询方法的查询准确性和查询性能较低的技术问题。
可选的,本公开实施例中的执行主体为客户端,;作为一种可选的实施例,由于在一般情况下,数据库中存储的数据记录,通常会给其加上对应的创建时间(createTime),因此,本公开的发明人经过一些探索后,发现可以巧妙的利用上述技术构思来实现不受新数据干扰的分页查询方案。
作为一种可选的实施例,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量,例如,上述时间变量MaxTime可以为历史分页查询结果中最晚创建的一条数据记录的创建时间,时间变量maxTime的主要作用是作为查询条件,用于限定查询目标数据库中创建时间比它要晚的数据,上述查询数据量pageSize表示请求分页的大小,也即每次请求数据的条数。
在本公开实施例中,服务端依据上述时间变量maxTime和查询数据量pageSize进行分页查询,当目标数据库的数据量比较大时,一次性查询所有的结果就会变得很慢,为了提高查询效率,一般采用limit关键字和offset关键字的方式实现分页查询的功能。例如,select*from Table limit 10offset 5,即表示对目标数据库的数据进行分页,每页10条数据,并且返回第5页的数据。
可选的,在本公开实施例中,在分页查询的过程中执行条件查询,该条件查询是指只返回给定限制条件的数据,一般使用where关键字加逻辑语句组成,例如:
select*from Table
where createTime<=1616639230765
需要说明的是,上述实现代码即表示从目标数据库中查询创建时间小于1616639230765的数据记录。
在本公开实施例中,服务端将查询到的目标分页查询结果返回给客户端,客户端接收到响应结果后,基于上述目标分页查询结果渲染上述分页请求查询页面中的分页查询列表;展示上述分页查询列表;并将最晚的一条数据记录创建时刻赋值给上述时间变量,等待请求查询下一页数据的操作,再重复执行上述分页查询操作。
在一种可选的实施例中,以学生信息表为例进行说明,学生信息表中的每一行都包含学生的姓名、性别、年龄等,因此,每一行是一个数据记录。
作为一种可选的实施例,在上述发送当前分页查询请求至服务端之前,上述方法还包括:预先定义上述时间变量和上述查询数据量,其中,上述时间变量的初始值为空值。
在一种可选的实施例中,发送当前分页查询请求至服务端包括:
步骤S502,响应于接收到的页面显示指令,显示分页请求查询页面并获取上述时间变量和上述查询数据量;
步骤S504,依据上述时间变量和上述查询数据量,确定上述当前分页查询请求;
步骤S506,发送上述当前分页查询请求至服务端。
作为一种可选的实施例,如图3所示,客户端(即前端)响应于接收到的页面显示指令,显示分页请求查询页面,并定义一个时间变量maxTime和上述查询数据量pageSize,上述时间变量的初始值为空值null;并将上述时间变量和上述查询数据量封装入一个分页查询请求,得到当前分页查询请求,并发送上述当前分页查询请求至服务端(后端)。
例如,客户端通过基于HTPP(应用层通信协议)的Ajax(异步读取数据的技术)协议发送上述当前分页查询请求至服务端。
在一种可选的实施例中,在接收上述服务端返回的上述目标分页查询结果之后,上述方法还包括:
步骤S602,基于上述目标分页查询结果渲染上述分页请求查询页面中的分页查询列表;
步骤S604,展示上述分页查询列表。
由于数据本身是没有样式的,直接将数据本身展示给用户可能导致用户体验较差,因此,作为一种可选的实施例,可以对目标分页查询结果中的数据记录进行渲染,例如,添加特殊的字体样式、颜色、大小及背景色等,以使用醒目的样式来将服务器返回的数据记录展现给用户。
在一种可选的实施例中,在接收上述服务端返回的上述目标分页查询结果之后,上述方法还包括:
步骤S702,获取上述目标分页查询结果中的每条数据记录的创建时刻;
步骤S704,确定上述创建时刻最晚的数据记录为第二数据记录,并获取上述第二数据记录对应的目标创建时刻;
步骤S706,将上述目标创建时刻赋值给上述时间变量,得到更新后的时间变量。
在本公开实施例中,客户端在接收到服务端返回的上述目标分页查询结果之后,获取上述目标分页查询结果中的每条数据记录的创建时刻,确定上述创建时刻最晚的数据记录为第二数据记录,并获取上述第二数据记录对应的目标创建时刻;通过将该第二数据记录对应的目标创建时刻赋值给时间变量,可以实现在每次分页查询之后及时的对时间变量进行更新,得到更新后的时间变量。
根据本公开实施例,还提供了一种用于实施上述数据查询方法的装置实施例,图5是根据本公开实施例的一种数据查询装置的结构示意图,如图5所示,上述数据查询装置,包括:第一接收模块50、解析模块52、查询模块54和返回模块56,其中:
第一接收模块50,用于接收来自于客户端的当前分页查询请求;解析模块52,用于从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;查询模块54,用于依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回模块56,用于返回上述目标分页查询结果至上述客户端。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述第一接收模块50、解析模块52、查询模块54和返回模块56对应于方法实施例中的步骤S102至步骤S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
根据本公开实施例,还提供了一种用于实施上述数据查询方法的装置实施例,图6是根据本公开实施例的另一种数据查询装置的结构示意图,如图6所示,上述数据查询装置,包括:发送模块60和第二接收模块62,其中:
发送模块60,用于发送当前分页查询请求至服务端,其中,上述服务端用于从上述当前分页查询请求中解析得到时间变量和查询数据量,并依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;第二接收模块62,用于接收上述服务端返回的上述目标分页查询结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述发送模块60和第二接收模块62对应于方法实施例中的步骤S402至步骤S404,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见方法实施例中的相关描述,此处不再赘述。
上述的数据查询装置还可以包括处理器和存储器,上述发送模块60和第二接收模块62等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本公开实施例,还提供了一种非易失性存储介质实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种数据查询方法。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:接收来自于客户端的当前分页查询请求;从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回上述目标分页查询结果至上述客户端。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:解析上述当前分页查询请求,确定与上述当前分页查询请求相邻的上一分页查询请求;获取上述上一分页查询请求对应的上述历史分页查询结果,以及上述历史分页查询结果中第一数据记录的创建时刻,其中,上述第一数据记录为上述历史分页查询结果中最晚创建的一条数据记录;将上述第一数据记录的创建时刻赋值给上述时间变量。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:检测上述时间变量是否为空值;若上述时间变量是上述空值,则获取服务端的当前时刻,并将上述当前时刻赋值给上述时间变量。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:采用上述时间变量作为第一查询条件,创建时间晚于上述时间变量的第一查询数据;采用上述查询数据量作为第二查询条件,对上述第一查询数据进行分页处理得到多个分页,并确定每个上述分页中包含的数据量;以及从上述多个分页中选取目标分页,作为上述目标分页查询结果。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:发送当前分页查询请求至服务端,其中,上述服务端用于从上述当前分页查询请求中解析得到时间变量和查询数据量,并依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;接收上述服务端返回的上述目标分页查询结果。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:响应于接收到的页面显示指令,显示分页请求查询页面并获取上述时间变量和上述查询数据量;依据上述时间变量和上述查询数据量,确定上述当前分页查询请求;发送上述当前分页查询请求至服务端。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:基于上述目标分页查询结果渲染上述分页请求查询页面中的分页查询列表;展示上述分页查询列表。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述目标分页查询结果中的每条数据记录的创建时刻;确定上述创建时刻最晚的数据记录为第二数据记录,并获取上述第二数据记录对应的目标创建时刻;将上述目标创建时刻赋值给上述时间变量,得到更新后的时间变量。
根据本公开实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种数据查询方法。
本公开实施例提供了一种电子装置,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的数据查询方法。
本公开还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收来自于客户端的当前分页查询请求;从上述当前分页查询请求中解析得到时间变量和查询数据量,其中,上述时间变量基于上述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,上述查询数据量用于表征每次请求查询数据的数量;依据上述时间变量和上述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;返回上述目标分页查询结果至上述客户端。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

Claims (12)

1.一种数据查询方法,其特征在于,包括:
接收来自于客户端的当前分页查询请求;
从所述当前分页查询请求中解析得到时间变量和查询数据量,其中,所述时间变量基于所述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,所述查询数据量用于表征每次请求查询数据的数量;
依据所述时间变量和所述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;
返回所述目标分页查询结果至所述客户端。
2.根据权利要求1所述的方法,其特征在于,从所述当前分页查询请求中解析得到时间变量包括:
解析所述当前分页查询请求,确定与所述当前分页查询请求相邻的上一分页查询请求;
获取所述上一分页查询请求对应的所述历史分页查询结果,以及所述历史分页查询结果中第一数据记录的创建时刻,其中,所述第一数据记录为所述历史分页查询结果中最晚创建的一条数据记录;
将所述第一数据记录的创建时刻赋值给所述时间变量。
3.根据权利要求1所述的方法,其特征在于,在依据所述时间变量和所述查询数据量对目标数据库执行分页查询之前,所述方法还包括:
检测所述时间变量是否为空值;
若所述时间变量是所述空值,则获取服务端的当前时刻,并将所述当前时刻赋值给所述时间变量。
4.根据权利要求1所述的方法,其特征在于,依据所述时间变量和所述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,包括:
采用所述时间变量作为第一查询条件,确定所述目标数据库中创建时间晚于所述时间变量的第一查询数据;
采用所述查询数据量作为第二查询条件,对所述第一查询数据进行分页处理得到多个分页,并确定每个所述分页中包含的数据量;以及从所述多个分页中选取目标分页,作为所述目标分页查询结果。
5.一种数据查询方法,其特征在于,包括:
发送当前分页查询请求至服务端,其中,所述服务端用于从所述当前分页查询请求中解析得到时间变量和查询数据量,并依据所述时间变量和所述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,所述时间变量基于所述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,所述查询数据量用于表征每次请求查询数据的数量;
接收所述服务端返回的所述目标分页查询结果。
6.根据权利要求5所述的方法,其特征在于,在所述发送当前分页查询请求至服务端之前,所述方法还包括:
预先定义所述时间变量和所述查询数据量,其中,所述时间变量的初始值为空值。
7.根据权利要求5所述的方法,其特征在于,所述发送当前分页查询请求至服务端包括:
响应于接收到的页面显示指令,显示分页请求查询页面并获取所述时间变量和所述查询数据量;
依据所述时间变量和所述查询数据量,确定所述当前分页查询请求;
发送所述当前分页查询请求至服务端。
8.根据权利要求7所述的方法,其特征在于,在接收所述服务端返回的所述目标分页查询结果之后,所述方法还包括:
基于所述目标分页查询结果渲染所述分页请求查询页面中的分页查询列表;
展示所述分页查询列表。
9.根据权利要求5所述的方法,其特征在于,在接收所述服务端返回的所述目标分页查询结果之后,所述方法还包括:
获取所述目标分页查询结果中的每条数据记录的创建时刻;
确定所述创建时刻最晚的数据记录为第二数据记录,并获取所述第二数据记录对应的目标创建时刻;
将所述目标创建时刻赋值给所述时间变量,得到更新后的时间变量。
10.一种数据查询装置,其特征在于,包括:
第一接收模块,用于接收来自于客户端的当前分页查询请求;
解析模块,用于从所述当前分页查询请求中解析得到时间变量和查询数据量,其中,所述时间变量基于所述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,所述查询数据量用于表征每次请求查询数据的数量;
查询模块,用于依据所述时间变量和所述查询数据量对目标数据库执行分页查询,得到目标分页查询结果;
返回模块,用于返回所述目标分页查询结果至所述客户端。
11.一种数据查询装置,其特征在于,包括:
发送模块,用于发送当前分页查询请求至服务端,其中,所述服务端用于从所述当前分页查询请求中解析得到时间变量和查询数据量,并依据所述时间变量和所述查询数据量对目标数据库执行分页查询,得到目标分页查询结果,所述时间变量基于所述当前分页查询请求相邻的上一分页查询请求的历史分页查询结果确定,所述查询数据量用于表征每次请求查询数据的数量;
第二接收模块,用于接收所述服务端返回的所述目标分页查询结果。
12.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至9中任意一项所述的数据查询方法。
CN202110595201.0A 2021-05-28 2021-05-28 数据查询方法及装置、存储介质 Pending CN113326302A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110595201.0A CN113326302A (zh) 2021-05-28 2021-05-28 数据查询方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110595201.0A CN113326302A (zh) 2021-05-28 2021-05-28 数据查询方法及装置、存储介质

Publications (1)

Publication Number Publication Date
CN113326302A true CN113326302A (zh) 2021-08-31

Family

ID=77422299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110595201.0A Pending CN113326302A (zh) 2021-05-28 2021-05-28 数据查询方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN113326302A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946725A (zh) * 2021-12-20 2022-01-18 飞狐信息技术(天津)有限公司 分页查询方法及装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260769B1 (en) * 2011-05-04 2012-09-04 Google Inc. Coordinating different search queries using a translated query cursor
CN103942196A (zh) * 2013-01-17 2014-07-23 腾讯科技(深圳)有限公司 数据查询的方法、设备及系统
CN105843956A (zh) * 2016-04-14 2016-08-10 北京搜狐新媒体信息技术有限公司 一种分页查询方法及系统
CN107798135A (zh) * 2017-11-22 2018-03-13 阿里巴巴集团控股有限公司 分页查询方法及装置和电子设备
CN108848244A (zh) * 2018-04-02 2018-11-20 阿里巴巴集团控股有限公司 一种分页显示的方法及装置
CN112416967A (zh) * 2020-12-11 2021-02-26 北京北信源软件股份有限公司 数据分页查询方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260769B1 (en) * 2011-05-04 2012-09-04 Google Inc. Coordinating different search queries using a translated query cursor
CN103942196A (zh) * 2013-01-17 2014-07-23 腾讯科技(深圳)有限公司 数据查询的方法、设备及系统
CN105843956A (zh) * 2016-04-14 2016-08-10 北京搜狐新媒体信息技术有限公司 一种分页查询方法及系统
CN107798135A (zh) * 2017-11-22 2018-03-13 阿里巴巴集团控股有限公司 分页查询方法及装置和电子设备
CN108848244A (zh) * 2018-04-02 2018-11-20 阿里巴巴集团控股有限公司 一种分页显示的方法及装置
CN112416967A (zh) * 2020-12-11 2021-02-26 北京北信源软件股份有限公司 数据分页查询方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946725A (zh) * 2021-12-20 2022-01-18 飞狐信息技术(天津)有限公司 分页查询方法及装置、存储介质及电子设备
CN113946725B (zh) * 2021-12-20 2022-03-01 飞狐信息技术(天津)有限公司 分页查询方法及装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN110245069B (zh) 页面版本的测试方法和装置、页面的展示方法和装置
CN110222288B (zh) 页面展示方法、装置及存储介质
US11221743B2 (en) Information processing method, terminal, server, and computer storage medium
CN104850546B (zh) 移动媒介信息的展示方法和系统
US10303754B1 (en) Creation and display of dynamic content component
CN107329976B (zh) 网页分页方法、装置、计算机设备及计算机可读存储介质
CN104601683A (zh) 一种文件下载管理方法以及移动终端和通信系统
EP3080722B1 (en) Web page rendering on wireless devices
CN113568699B (zh) 一种内容显示方法、装置、设备及存储介质
CN112256772A (zh) 数据服务方法、装置以及可读存储介质
CN105487640A (zh) 一种安卓手表预加载和缓存图片的方法
CN106062693A (zh) 桌面分享方法和移动终端
CN113946403A (zh) 数据展示方法、装置、存储介质及电子设备
CN109683760B (zh) 最近内容的显示方法、装置、终端及存储介质
CN113326302A (zh) 数据查询方法及装置、存储介质
CN114500423A (zh) 消息处理方法、装置、设备及存储介质
CN113573134A (zh) 弹幕数据的处理方法及装置、存储介质、电子设备
CN108012558B (zh) 电话号码规范化以及信息可发现性
CN104572981A (zh) 一种网页页面缓存处理方法和移动终端设备
CN112363932A (zh) 待测试业务对象的测试方法及装置、电子装置
CN102957749B (zh) 一种用于提供提示信息的方法、装置和设备
CN108052521B (zh) 协调数据显示方法、应用服务器及存储介质
CN104750823B (zh) 推广情况数据的查询方法及装置
CN113656731A (zh) 广告页面的处理方法、装置、电子设备和存储介质
CN113171618A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210831