一种OLAP数据库的分页查询方法、装置及服务器与流程

文档序号:35968134发布日期:2023-11-09 08:32阅读:22来源:国知局
本发明涉及数据库,特别涉及一种olap数据库的分页查询方法、装置及服务器。
背景技术
::1、目前,olap(on line analytic processlng,联机分析处理)数据库的分页实现方式是采用现有数据库的常用的offset(偏移量)方案来实现的。例如,有一张数据表,数据量为100万,如果界面每一页展示10条数据,最大页码数(如图1中的n)则为10万,这时候用户想要查看最后一页的数据时,通过向数据库发送相应的sql(structured query language,结构化查询语言),如“select*from table limit 999990,10”,数据库会读取全部的数据,然后舍弃掉前面的999990条数据,将剩余的10条结果返回;这就使得,采用这种分页处理方式,索要查看的页码越靠后,分页查询压力越大;并且由于olap数据库多数是分布式存储的,对数据库性能的消耗会随着分区数成本增长。2、因此,如何能够降低olap数据库的分页查询对数据库性能的消耗,提升分页查询速率,是现今急需解决的问题。技术实现思路1、本发明的目的是提供一种olap数据库的分页查询方法、装置及服务器,以olap数据库的分页查询对数据库性能的消耗,提升分页查询速率。2、为解决上述技术问题,本发明提供一种olap数据库的分页查询方法,包括:3、服务器获取客户端设备发送的查询数据集对应的界面分页查询请求;其中,所述查询数据集为olap数据库中目标数据查询请求对应的数据集,所述目标数据查询请求为所述界面分页查询请求对应的数据查询请求;4、确定存储的目标文件片中所述界面分页查询请求对应的分页查询文件片;其中,每个所述目标文件片存储有小于或等于预设数据量的所述查询数据集中的数据,所述分页查询文件片包括一个或两个所述目标文件片;5、从所述分页查询文件片中查询得到所述界面分页查询请求对应的分页数据;6、将所述分页数据发送给所述客户端设备,以使所述客户端设备显示所述分页数据。7、在一些实施例中,所述确定存储的目标文件片中所述界面分页查询请求对应的分页查询文件片,包括:8、根据所述界面分页查询请求中的页大小和请求页,确定所述查询数据集的偏移量范围;其中,若所述查询数据集的数据量与所述预设数据量相除的余数为0,则所述目标文件片的数量为所述查询数据集的数据量除以所述预设数据量的商;若所述查询数据集的数据量与所述预设数据量相除的余数不为0,则所述目标文件片的数量为所述查询数据集的数据量除以所述预设数据量的商加1;9、根据所述偏移量范围和所述预设数据量,确定所述分页查询文件片的分页偏移量范围;10、将所述分页查询文件片中所述分页偏移量范围对应的数据确定为所述分页数据。11、在一些实施例中,所述根据所述偏移量范围和所述预设数据量,确定所述分页查询文件片的分页偏移量范围,包括:12、根据所述偏移量范围和所述预设数据量,确定所述分页查询文件片的编号标识和所述分页偏移量范围;其中,所述预设数据量为所述页大小的整数倍,所述分页查询文件片包括一个目标文件片。13、在一些实施例中,所述编号标识为所述偏移量范围的最小值除以所述预设数据量的商加1,所述分页偏移量范围为所述偏移量范围的最小值除以所述预设数据量的余数至所述偏移量范围的最大值除以所述预设数据量的余数。14、在一些实施例中,所述从所述分页查询文件片中查询得到所述界面分页查询请求对应的分页数据,包括:15、判断所述分页查询文件片的内容是否存储在所述服务器的缓存中;16、若是,则从所述缓存的所述分页查询文件片的内容中查询得到所述分页数据;17、若否,则从磁盘存储或云端存储的所述分页查询文件片中查询得到所述分页数据,并将所述分页查询文件片的内容存储到所述缓存中;其中,所述目标文件片在所述服务器的磁盘中存储和/或云端存储。18、在一些实施例中,该方法还包括:19、在所述目标文件片的未查询时间达到预设清理时间后,删除本地磁盘存储的所述目标文件片。20、在一些实施例中,所述服务器获取客户端设备发送的查询数据集对应的界面分页查询请求之前,还包括:21、所述服务器获取所述客户端设备发送的所述目标数据查询请求;22、从所述olap数据库中查询得到所述目标数据查询请求对应的查询数据集;23、根据所述预设数据量对所述查询数据集进行分割,得到所述目标文件片;24、对所述目标文件片进行本地磁盘存储和/或云端存储。25、在一些实施例中,所述从所述olap数据库中查询得到所述目标数据查询请求对应的查询数据集,包括:26、从所述olap数据库中流式读取所述查询数据集。27、本发明还提供了一种olap数据库的分页查询装置,应用于服务器,包括:28、分页获取模块,用于获取客户端设备发送的查询数据集对应的界面分页查询请求;其中,所述查询数据集为olap数据库中目标数据查询请求对应的数据集,所述目标数据查询请求为所述界面分页查询请求对应的数据查询请求;29、文件确定模块,用于确定存储的目标文件片中所述界面分页查询请求对应的分页查询文件片;其中,每个所述目标文件片存储有小于或等于预设数据量的所述查询数据集中的数据,所述分页查询文件片包括一个或两个所述目标文件片;30、数据查询模块,用于从所述分页查询文件片中查询得到所述界面分页查询请求对应的分页数据;31、数据发送模块,用于将所述分页数据发送给所述客户端设备,以使所述客户端设备显示所述分页数据。32、此外,本发明还提供了一种服务器,包括:33、存储器,用于存储计算机程序;34、处理器,用于执行所述计算机程序时实现如上述所述的olap数据库的分页查询方法的步骤。35、本发明所提供的一种olap数据库的分页查询方法,包括:服务器获取客户端设备发送的查询数据集对应的界面分页查询请求;其中,查询数据集为olap数据库中目标数据查询请求对应的数据集,目标数据查询请求为界面分页查询请求对应的数据查询请求;确定存储的目标文件片中界面分页查询请求对应的分页查询文件片;其中,每个目标文件片存储有小于或等于预设数据量的查询数据集中的数据,分页查询文件片包括一个或两个目标文件片;从分页查询文件片中查询得到界面分页查询请求对应的分页数据;将分页数据发送给客户端设备,以使客户端设备显示分页数据;36、可见,本发明通过对界面分页查询请求对应的查询数据集的预先存储,能够减少olap数据库的数据查询次数,降低olap数据库的分页查询对数据库性能的消耗;以文件片形式存储查询数据集,能够根据界面分页查询请求,确定存储的目标文件片中相应的分页查询文件片,从而在分页查询文件片中查询得到界面分页查询请求对应的分页数据,减少了数据的读取数量,能够提升分页查询速率,降低了服务器的功耗。此外,本发明还提供了一种olap数据库的分页查询装置及服务器,同样具有上述有益效果。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1