CN115328977A - 一种页面数据的分页预处理方法及装置 - Google Patents
一种页面数据的分页预处理方法及装置 Download PDFInfo
- Publication number
- CN115328977A CN115328977A CN202210994464.3A CN202210994464A CN115328977A CN 115328977 A CN115328977 A CN 115328977A CN 202210994464 A CN202210994464 A CN 202210994464A CN 115328977 A CN115328977 A CN 115328977A
- Authority
- CN
- China
- Prior art keywords
- table field
- field data
- page
- data
- cache
- 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
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/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
-
- 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
- G06F16/2453—Query optimisation
-
- 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
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种页面数据的分页预处理方法及装置,所述方法包括:在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。本发明可以在用户查询数据时先在数据库中对字段数据进行第一次排序,然后抽取预设数量的字段数据至缓存中进行第二次排序,以供用户翻页时展示,从而能大大减少数据库的工作量,减轻数据库的处理负担,并能缩短数据的排序处理时长,提高分页展示的处理效率。
Description
技术领域
本发明涉及页面数据处理的技术领域,尤其涉及一种页面数据的分页预处理方法及装置。
背景技术
随着科技与经济的发展,各行各业的相关信息及数量逐渐增加。为了方便用户寻找所需的咨询,可以在搜索引擎中输入关键字,由搜索引擎查询相应的数据,并对搜索结果进行分页展示,以供用户查看。
目前对搜索结果进行分页的方式是在数据库中确定搜索结果相关的字段数据,并在数据库中对各个字段数据进行智能排序,然后按照排序结果进行分页展示;并且当用户翻页时,基于当前页的字段数据进行一次查找、排序与分页展示的操作。
但目前常用的分页方法有如下技术问题:翻页时在数据库中每次都进行搜索、排序与分页等操作,不但会增加数据库的处理负担,而且增加了排序处理的时长,降低了返回搜索结果的处理效率。
发明内容
本发明提出一种页面数据的分页预处理方法及装置,所述方法可以在用户查询数据时在数据库中对字段数据进行第一次排序,然后抽取预设数量的字段数据至缓存中进行第二次排序,以供用户翻页时展示,进而能减轻数据库的处理负担,缩短排序的处理时长,以提高分页展示的处理效率。
本发明实施例的第一方面提供了一种页面数据的分页预处理方法,所述方法包括:
在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在第一方面的一种可能的实现方式中,所述按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,包括:
从所述数据查询请求中获取查询字段数量;
基于预设的数量机制确定所述查询字段数量对应的存储字段数量;
按照所述存储字段数量,将所述一次排序结果所包含的主表字段数据与子表字段数据放置在缓存中;
调用缓存按照所述一次排序结果,依次对每个所述主表字段数据所对应的子表字段数据进行排序得到二次排序结果。
在第一方面的一种可能的实现方式中,所述按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤前,所述方法还包括:
确定缓存中是否存有至少一张缓存页,其中,所述缓存页包含已完成排序的待展示字段数据;
若缓存中无存有缓存页,则基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,并展示所述当前页,存储所述缓存页;
若缓存中存有至少一张缓存页,则待缓存页展示完成时,执行按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤。
在第一方面的一种可能的实现方式中,所述基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,包括:
获取所述一次排序结果中头排的主表字段数据,对头排的主表字段数据对应的子表字段数据进行第二次排序,得到当前页;
补全所述一次排序结果内的主表字段数据和子表字段数据,对补全后的主表字段数据和子表字段数据进行第二次排序,得到缓存页。
在第一方面的一种可能的实现方式中,所述基于预设的数量机制确定所述查询字段数量对应的存储字段数量,包括:
当所述查询字段数量小于预设的第一阈值时,以所述第一预设数量值为存储字段数量;
当所述查询字段数量大于预设的第一阈值且小于预设的第二阈值时,将所述查询字段数量与第一预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第二阈值且小于预设的第三阈值时,将所述查询字段数量与第二预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第三阈值时,将所述查询字段数量与第三预设倍数值相乘,得到存储字段数量。
在第一方面的一种可能的实现方式中,在所述在获取用户的数据查询请求的步骤前,所述方法还包括:
获取列表查询的排序字段;
解析所述排序字段,分别得到主表字段数据和子表字段数据。
在第一方面的一种可能的实现方式中,所述调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果,包括:
从所述数据查询请求中提取排序条件;
若所述排序条件为所述主表字段数在前且所述子表字段数据在后,则调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
否则,则将所述主表字段数据;或所述子表字段数据;或所述主表字段数据和所述子表字段数据放置在数据库中。
本发明实施例的第二方面提供了一种页面数据的分页预处理装置,所述装置包括:
第一次排序模块,用于在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
第二次排序模块,用于按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在第二方面的一种可能的实现方式中,所述第二次排序模块,还用于:
从所述数据查询请求中获取查询字段数量;
基于预设的数量机制确定所述查询字段数量对应的存储字段数量;
按照所述存储字段数量,将所述一次排序结果所包含的主表字段数据与子表字段数据放置在缓存中;
调用缓存按照所述一次排序结果,依次对每个所述主表字段数据所对应的子表字段数据进行排序得到二次排序结果。
在第二方面的一种可能的实现方式中,所述装置还包括:
确定模块,用于确定缓存中是否存有至少一张缓存页,其中,所述缓存页包含已完成排序的待展示字段数据;
有缓存页模块,用于若缓存中无存有缓存页,则基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,并展示所述当前页,存储所述缓存页;
无缓存页模块,用于若缓存中存有至少一张缓存页,则待缓存页展示完成时,执行按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤。
在第二方面的一种可能的实现方式中,所述有缓存页模块,还用于:
获取所述一次排序结果中头排的主表字段数据,对头排的主表字段数据对应的子表字段数据进行第二次排序,得到当前页;
补全所述一次排序结果内的主表字段数据和子表字段数据,对补全后的主表字段数据和子表字段数据进行第二次排序,得到缓存页。
在第二方面的一种可能的实现方式中,所述第二次排序模块,还用于:
当所述查询字段数量小于预设的第一阈值时,以所述第一预设数量值为存储字段数量;
当所述查询字段数量大于预设的第一阈值且小于预设的第二阈值时,将所述查询字段数量与第一预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第二阈值且小于预设的第三阈值时,将所述查询字段数量与第二预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第三阈值时,将所述查询字段数量与第三预设倍数值相乘,得到存储字段数量。
在第二方面的一种可能的实现方式中,所述装置还包括:
获取模块,用于获取列表查询的排序字段;
解析模块,用于解析所述排序字段,分别得到主表字段数据和子表字段数据。
在第二方面的一种可能的实现方式中,所述第一次排序模块,还用于:
从所述数据查询请求中提取排序条件;
若所述排序条件为所述主表字段数在前且所述子表字段数据在后,则调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
否则,则将所述主表字段数据;或所述子表字段数据;或所述主表字段数据和所述子表字段数据放置在数据库中。
本发明实施例的第三方面提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的页面数据的分页预处理方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如上所述的页面数据的分页预处理方法。
本发明实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品在计算机设备上运行时,使得所述计算机设备实现如上所述的页面数据的分页预处理方法。
相比于现有技术,本发明实施例提供的一种页面数据的分页预处理方法及装置,其有益效果在于:本发明可以在用户查询数据时先在数据库中对字段数据进行第一次排序,然后抽取预设数量的字段数据至缓存中进行第二次排序,以供用户翻页时展示,无需数据库重复进行查询、排序和展示等操作,大大减少数据库的工作量,减轻数据库的处理负担,并能缩短数据的排序处理时长,大大提高分页展示的处理效率。
附图说明
图1是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图一;
图2是本发明一实施例提供的关于页面中的主表字段和子表字段示意图
图3是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图二;
图4是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图三;
图5是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图四;
图6是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图五;
图7是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图六;
图8是本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图七;
图9是本发明一实施例提供的一种页面数据的分页预处理方法的操作流程图;
图10是本发明一实施例提供的一种页面数据的分页预处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前对搜索结果进行分页的方式是在数据库中确定搜索结果相关的字段数据,并在数据库中对各个字段数据进行智能排序,然后按照排序结果进行分页展示;并且当用户翻页时,基于当前页的字段数据进行一次查找、排序与分页展示的操作。
但目前常用的分页方法有如下技术问题:翻页时在数据库中每次都要进行搜索、排序与分页等操作,不但会增加数据库的处理负担,而且增加了排序处理的时长,降低了返回搜索结果的处理效率。特别是是在页面具有主表字段、子表字段的复杂场景中,当需要预先查找显示的页面时,需要数据库先对主表字段数据进行轮询排序,再对子表字段数据进行轮序排序,最后再根据两个排序结果编辑缓存页面。两次排序操作均需要数据库执行,从而增加了数据库的处理负担,增加响应处理的时长,降低了处理效率。
为了解决上述问题,下面将通过以下具体的实施例对本申请实施例提供的一种页面数据的分页预处理方法进行详细介绍和说明。
参照图1,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图一。
其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S11、在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果。
在一实施例中,数据查询请求可以是用户翻查数据库的请求。其中,主表字段数据可以是主业字段数据。
具体地,主业字段数据是主业列表中所展示的主项目对应的字段数据。
在一实施例中,可以先获取用户的数据查询请求,基于响应该请求确定用户实际所要查询相关的主业字段数据,然后在数据库中对多个相关的主业字段数据进行第一次排序,得到一次排序结果。
在本实施例中,上述步骤只对主表字段数据进行排序,并未对主表字段数据内的各个子表字段数据进行排序,也为未涉及到跨表排序,使得查询可以直接使用到数据库索引,无需数据库执行额外操作,进而能减轻数据库的工作压力,以提升数据库的查询性能。
S12、按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在一实施例中,在完成第一次排序后,可以基于预设的数量机制,从一次排序结果所包含的主表字段数据对应的子表字段数据中,提取若干数量的子表字段数据,然后在缓存中对各个子表字段数据进行二次排序,并制造成待展示页面,并存储在缓存中,当用户需要翻页时,直接从缓存中提取该待展示页面供用户查看,无需数据库重复进行查询、排序和展示等操作,大大减少数据库的工作量。
而且,由于第一次排序已经对主表字段数据进行排序,可以在内存中仅对主表字段数据对应的子表字段数据进行二次排序,即对当前查询返回的数据在内存中进行遍历排序,相对于传统数据库的全表扫描,返回的数据量已显著减少,内存中子表字段数据的排序性能得到显著提升。
参照图2,示出了本发明一实施例提供的关于页面中的主表字段和子表字段示意图。
例如,在“编码”列有3个主表字段数据,分别为11111、11111和11112,其中,第一个暂存状态的主表字段数据11111对应1个“客户编码”子表字段数据,第二个为已审核状态的主表字段数据11111对应4个“客户编码”子表字段数据,第三个暂存状态的主表字段数据11112对应4个“客户编码”子表字段数据。每一次可以展示一个或多个主表字段数据,以及每个主表字段数据所对应的子表字段数据。
可以先在数据库中分别对若干个待展示的主表字段数据进行第一次排序,然后按照第一次排序结果在缓存中分别对每个主表字段数据对应的子表字段数据进行排序,将排序好的若干个主表字段数据及其对应的子表字段数据存储在缓存中。当用户翻页时,可以快速展示若干个主表字段数据以及其对应的子表字段数据。当用户再翻页时,再展示若干个主表字段数据对应的子表字段数据。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明可以在用户查询数据时先在数据库中对字段数据进行第一次排序,然后抽取预设数量的字段数据至缓存中进行第二次排序,以供用户翻页时展示,无需数据库重复进行查询、排序和展示等操作,尤其在多主表且每个主表均包含多个子表数据的复杂场景下,数据库仅需对主表进行排序处理,不需要对大量子表数据进行排序处理,能大大减少数据库的工作量,减轻数据库的处理负担,并能缩短数据的排序处理时长,大大提高分页展示的处理效率。
参照图3,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图二。
在一实施例中,缓存中可能已经存在待展示页面,用户可能第一次触发,缓存中并未存储任何页面,为了能快速准确好待展示页面,以备用户翻页使用,其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S21、在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果。
在一实施例中,步骤S21与上述实施例的步骤S11相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S22、确定缓存中是否存有至少一张缓存页,其中,所述缓存页包含已完成排序的待展示字段数据。
在一实施例中,缓存页可以是上述步骤中的待展示页面,具体可以包含待展示的子表字段数据。
在一实施例中,若用户已在查看,缓存中可能已经存有缓存页,若用户是刚刚触发查看,缓存中可能没有存储缓存页,需要制作缓存页。
S23、若缓存中无存有缓存页,则基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,并展示所述当前页,存储所述缓存页。
在一实施例中,若缓存中没有存有缓存页,则可以启动异步线程,同时利用所述一次排序结果的主表字段数据以及对应的子表字段数据制作所要展示的当前页,以及存储在缓存中的缓存页,进而能让用户立即查看,并在缓存中存储好缓存页,以供用户翻页使用。
在实际操作中,当前页与缓存页的制作方式可以与步骤S12制作待展示页面的操作方式相同,具体可以参照上述说明。
S24、若缓存中存有至少一张缓存页,则待缓存页展示完成时,执行按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤。
在一实施例中,若缓存中存有至少一张缓存页,则说明缓存中存有待展示页面,可以供用户翻页查看。可以一直让用户翻页,直到缓存中所有待展示页面均已展示完毕时,再执行制作待展示页面的步骤,使得缓存中时刻存有待展示页面,供用户翻页使用,实现快速翻页,提高用户的使用体验。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明可以先确定缓存中是否有待展示页面,若没有,则能启动异步线程,同时制作可立即展示的当前页面以及待展示的缓存页面,并立即展示当前页面以及将缓存页面存储在缓存中,供用户翻页使用,以提高用户的使用体验。
参照图4,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图三。
在异步操作时,可能待展示的缓存页面的数据不全,为了避免上述情况,其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S31、在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果。
在一实施例中,步骤S31与上述实施例的步骤S21相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S32、确定缓存中是否存有至少一张缓存页,其中,所述缓存页包含已完成排序的待展示字段数据。
在一实施例中,步骤S32与上述实施例的步骤S21相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S33、若缓存中无存有缓存页,获取所述一次排序结果中头排的主表字段数据,对头排的主表字段数据对应的子表字段数据进行第二次排序,得到当前页。
在一实施例中,若缓存中没有缓存页面,说明用户第一次触发查看,可以从一次排序结果中确定排在第一的主表字段数据,然后利用缓存对该主表字段数据所对应的子表字段数据进行二次排序,从而得到当前页,并展示当前页以供用户查看。
S34、补全所述一次排序结果内的主表字段数据和子表字段数据,对补全后的主表字段数据和子表字段数据进行第二次排序,得到缓存页。
在一实施例中,制作当前页的同时,可以启动异步线程,将一次排序结果内非头排的主表字段数据及其对应子表字段数据进行补全,然后再利用补全后的数据制作页面,得到缓存页。
在一可选的实施方式中,可以通过补头补尾方式,补全各个数据,例如,数据不足的,可以补0代替。
S35、若缓存中存有至少一张缓存页,则待缓存页展示完成时,执行按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤。
在一实施例中,步骤S35与上述实施例的步骤S24相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明可以在异步操作过程中,对制作缓存页面不全的数据进行补全,进而能制作相应的缓存页面,以供用户翻页查看。
参照图5,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图四。
由于查询的数据量可能较大,若将所有符合要求的数据均存储在缓存中,会增加缓存的压力,为了避免上述情况,其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S41、在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
在一实施例中,步骤S41与上述实施例的步骤S11相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S42、从所述数据查询请求中获取查询字段数量。
具体地,查询字段数量可以是用户每一页中需要查看的字段数量。
S43、基于预设的数量机制确定所述查询字段数量对应的存储字段数量。
其中,预设的数量机制可以是计算规则,通过设定对应的计算规则,能根据用户的查询字段数量计算相应的存储字段数量,进而能根据存储字段数量存储相应的数据在缓存中,避免存储过量的情况。
S44、按照所述存储字段数量,将所述一次排序结果所包含的主表字段数据与子表字段数据放置在缓存中。
在一实施例中,可以按照存储字段时数量,从一次排序结果所包含的主表字段数据与子表字段数据中,提取对应数量的数据存储在缓存中,以供缓存对子表字段数据进行第二次排序,而制作成缓存页。
例如,有10个主表字段数据,每个主表字段数据对应10个子表字段数据,则共有100个子表字段数据,若存储字段数量为50,则取前五个主表字段数据所对应的子表字段数据。
S45、调用缓存按照所述一次排序结果,依次对每个所述主表字段数据所对应的子表字段数据进行排序,得到二次排序结果,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在一实施例中,步骤S41与上述实施例的步骤S11相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明通过提取若干数量的数据至缓存中进行缓存页制作,能减轻缓存的存储压力,以提高缓存的处理效率。
参照图6,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图五。
其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S51、在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
在一实施例中,步骤S51与上述实施例的步骤S41相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S52、从所述数据查询请求中获取查询字段数量。
在一实施例中,步骤S52与上述实施例的步骤S42相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S53、当所述查询字段数量小于预设的第一阈值时,以所述第一预设数量值为存储字段数量;
或者;
当所述查询字段数量大于预设的第一阈值且小于预设的第二阈值时,将所述查询字段数量与第一预设倍数值相乘,得到存储字段数量;
或者;
当所述查询字段数量大于预设的第二阈值且小于预设的第三阈值时,将所述查询字段数量与第二预设倍数值相乘,得到存储字段数量;
或者;
当所述查询字段数量大于预设的第三阈值时,将所述查询字段数量与第三预设倍数值相乘,得到存储字段数量。
例如,设定查询字段数量为queryLimit;第一预设数量值为1000;第一预设倍数值为5,第二预设倍数值为2,第三预设倍数值为1。
若queryLimit<=100时,则存储字段数量为每批预取1000条数据;
100<queryLimit<=1000时,存储字段数量为每批预取5*queryLimit数据;
1000<queryLimit<=5000时,存储字段数量为每批预取2*queryLimit数据;
5000<queryLimit时,存储字段数量为每批预取1*queryLimit数据。
需要说明的是,第一预设数量值、第一预设倍数值、第二预设倍数值、第三预设倍数值、第一阈值、第二阈值和第三阈值均可以根据实际需求进行调整。
S54、按照所述存储字段数量,将所述一次排序结果所包含的主表字段数据与子表字段数据放置在缓存中。
在一实施例中,步骤S54与上述实施例的步骤S44相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S55、调用缓存按照所述一次排序结果,依次对每个所述主表字段数据所对应的子表字段数据进行排序,得到二次排序结果,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在一实施例中,步骤S55与上述实施例的步骤S45相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明可以通过根据查询字段数量的需求提取若干数量的数据至缓存中进行缓存页制作,能减轻缓存的存储压力,以提高缓存的处理效率。
参照图7,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图六。
由于第一次排序和第二次排序均是对不同字段数据进行处理,为了能提高后续排序的处理效率,其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S61、获取列表查询的排序字段。
在一实施例中,该排序字段可以是数据库内的字段数据,也可以是用户或企业在先输入的排序字段数据。
S62、解析所述排序字段,分别得到主表字段数据和子表字段数据。
在获取排序字段时,可以立即对排序字段进程解析分类,以区分排序字段中的主表字段数据和子表字段数据。
S63、在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果。
在一实施例中,步骤S63与上述实施例的步骤S11相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S64、按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在一实施例中,步骤S64与上述实施例的步骤S12相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明可以解析列表查询的所有排序字段,拆分出主表排序字段和子表排序字段,从而供数据库与缓存分别对其进行排序,以提高数据的处理效率。
参照图8,示出了本发明一实施例提供的一种页面数据的分页预处理方法的流程示意图七。
其中,作为示例的,所述页面数据的分页预处理方法,可以包括:
S71、获取列表查询的排序字段。
在一实施例中,步骤S71与上述实施例的步骤S61相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S72、解析所述排序字段,分别得到主表字段数据和子表字段数据。
在一实施例中,步骤S72与上述实施例的步骤S62相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S73、在获取用户的数据查询请求时,从所述数据查询请求中提取排序条件。
在一实施例中,排序条件可以根据实际需要进行调整,可以是主表字段数据的单独排序,子表字段数据的单独排序等等。
S74、若所述排序条件为所述主表字段数在前且所述子表字段数据在后,则调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果。
在本实施例中,排序条件可以是均对主表字段数据与子表字段数据进行排序,且主表字段数据排在子表字段数据的前面。
若符合上述排序条件,则可以调用数据库对主表字段数据进行第一次排序。
S75、按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
在一实施例中,步骤S75与上述实施例的步骤S64相同,具体操作可以参考上述说明,为了避免重复,在此不再赘述。
S76、否则,则将所述主表字段数据;或所述子表字段数据;或所述主表字段数据和所述子表字段数据放置在数据库中。
在本实施例中,若仅对主表字段数进行排序;或仅对子表字段数据进行排序;或主表字段数据排在子表字段数据后,可以将主表字段数和子表字段数据放置在数据库中,由数据库基于相应的查询规则对其进行排序处理。
在本实施例中,本发明实施例提供了一种页面数据的分页预处理方法,其有益效果在于:本发明可以先确定字段数据排序优先级,确定是否能分别对主表字段数据与子表字段数据进行单独排序,若能则分别对两种字段数据进行单独排序操作,以提高数据的处理效率。
参照图9,示出了本发明一实施例提供的一种页面数据的分页预处理方法的操作流程图。
具体地,可以先确定排序字段数据是否符合分类排序操作的条件,若符合,则可以确定缓存中是否存有缓存页,若有缓存页,则可以利用缓存页进行翻页处理,若没有缓存页,则可以调用异步线程同时制作缓存页与当前展业页,供用户快速翻页。本发明不但减轻数据库分页处理的工作量和负担,而且能缩短数据的处理时长,提高数据的处理效率。
本发明实施例还提供了一种页面数据的分页预处理装置,参见图10,示出了本发明一实施例提供的一种页面数据的分页预处理装置的结构示意图。
其中,作为示例的,所述页面数据的分页预处理装置可以包括:
第一次排序模块901,用于在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
第二次排序模块902,用于按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
可选地,所述第二次排序模块,还用于:
从所述数据查询请求中获取查询字段数量;
基于预设的数量机制确定所述查询字段数量对应的存储字段数量;
按照所述存储字段数量,将所述一次排序结果所包含的主表字段数据与子表字段数据放置在缓存中;
调用缓存按照所述一次排序结果,依次对每个所述主表字段数据所对应的子表字段数据进行排序得到二次排序结果。
可选地,所述装置还包括:
确定模块,用于确定缓存中是否存有至少一张缓存页,其中,所述缓存页包含已完成排序的待展示字段数据;
有缓存页模块,用于若缓存中无存有缓存页,则基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,并展示所述当前页,存储所述缓存页;
无缓存页模块,用于若缓存中存有至少一张缓存页,则待缓存页展示完成时,执行按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤。
可选地,所述有缓存页模块,还用于:
获取所述一次排序结果中头排的主表字段数据,对头排的主表字段数据对应的子表字段数据进行第二次排序,得到当前页;
补全所述一次排序结果内的主表字段数据和子表字段数据,对补全后的主表字段数据和子表字段数据进行第二次排序,得到缓存页。
可选地,所述第二次排序模块,还用于:
当所述查询字段数量小于预设的第一阈值时,以所述第一预设数量值为存储字段数量;
当所述查询字段数量大于预设的第一阈值且小于预设的第二阈值时,将所述查询字段数量与第一预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第二阈值且小于预设的第三阈值时,将所述查询字段数量与第二预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第三阈值时,将所述查询字段数量与第三预设倍数值相乘,得到存储字段数量。
可选地,所述装置还包括:
获取模块,用于获取列表查询的排序字段;
解析模块,用于解析所述排序字段,分别得到主表字段数据和子表字段数据。
可选地,所述第一次排序模块,还用于:
从所述数据查询请求中提取排序条件;
若所述排序条件为所述主表字段数在前且所述子表字段数据在后,则调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
否则,则将所述主表字段数据;或所述子表字段数据;或所述主表字段数据和所述子表字段数据放置在数据库中。
所属技术领域的技术人员可以清楚地了解到,为方便的描述和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步的,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的页面数据的分页预处理方法。
进一步的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述实施例所述的页面数据的分页预处理方法。
进一步的,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在计算机设备上运行时,使得所述计算机设备实现如上所述的页面数据的分页预处理方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种页面数据的分页预处理方法,其特征在于,所述方法包括:
在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
2.根据权利要求1所述的页面数据的分页预处理方法,其特征在于,所述按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,包括:
从所述数据查询请求中获取查询字段数量;
基于预设的数量机制确定所述查询字段数量对应的存储字段数量;
按照所述存储字段数量,将所述一次排序结果所包含的主表字段数据与子表字段数据放置在缓存中;
调用缓存按照所述一次排序结果,依次对每个所述主表字段数据所对应的子表字段数据进行排序得到二次排序结果。
3.根据权利要求1或2所述的页面数据的分页预处理方法,其特征在于,所述按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤前,所述方法还包括:
确定缓存中是否存有至少一张缓存页,其中,所述缓存页包含已完成排序的待展示字段数据;
若缓存中无存有缓存页,则基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,并展示所述当前页,存储所述缓存页;
若缓存中存有至少一张缓存页,则待缓存页展示完成时,执行按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序的步骤。
4.根据权利要求3所述的页面数据的分页预处理方法,其特征在于,所述基于异步线程分别采用所述一次排序结果的主表字段数据以及对应的子表字段数据分别编辑生成当前页和缓存页,包括:
获取所述一次排序结果中头排的主表字段数据,对头排的主表字段数据对应的子表字段数据进行第二次排序,得到当前页;
补全所述一次排序结果内的主表字段数据和子表字段数据,对补全后的主表字段数据和子表字段数据进行第二次排序,得到缓存页。
5.根据权利要求2所述的页面数据的分页预处理方法,其特征在于,所述基于预设的数量机制确定所述查询字段数量对应的存储字段数量,包括:
当所述查询字段数量小于预设的第一阈值时,以所述第一预设数量值为存储字段数量;
当所述查询字段数量大于预设的第一阈值且小于预设的第二阈值时,将所述查询字段数量与第一预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第二阈值且小于预设的第三阈值时,将所述查询字段数量与第二预设倍数值相乘,得到存储字段数量;
当所述查询字段数量大于预设的第三阈值时,将所述查询字段数量与第三预设倍数值相乘,得到存储字段数量。
6.根据权利要求1所述的页面数据的分页预处理方法,其特征在于,在所述在获取用户的数据查询请求的步骤前,所述方法还包括:
获取列表查询的排序字段;
解析所述排序字段,分别得到主表字段数据和子表字段数据。
7.根据权利要求6所述的页面数据的分页预处理方法,其特征在于,所述调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果,包括:
从所述数据查询请求中提取排序条件;
若所述排序条件为所述主表字段数在前且所述子表字段数据在后,则调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
否则,则将所述主表字段数据;或所述子表字段数据;或所述主表字段数据和所述子表字段数据放置在数据库中。
8.一种页面数据的分页预处理装置,其特征在于,所述装置包括:
第一次排序模块,用于在获取用户的数据查询请求时,调用数据库对查询结果的主表字段数据进行第一次排序,得到一次排序结果;
第二次排序模块,用于按照预设的数量机制,将所述一次排序结果所包含的主表字段数据对应的子表字段数据提取至缓存中进行第二次排序,采用所述第二次排序的结果制作并保存待展示页面,以供用户触发翻页时展示。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任意一项所述的页面数据的分页预处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-7任意一项所述的页面数据的分页预处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210994464.3A CN115328977A (zh) | 2022-08-18 | 2022-08-18 | 一种页面数据的分页预处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210994464.3A CN115328977A (zh) | 2022-08-18 | 2022-08-18 | 一种页面数据的分页预处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115328977A true CN115328977A (zh) | 2022-11-11 |
Family
ID=83925955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210994464.3A Pending CN115328977A (zh) | 2022-08-18 | 2022-08-18 | 一种页面数据的分页预处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328977A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226515A (zh) * | 2022-12-29 | 2023-06-06 | 北京奇树有鱼文化传媒有限公司 | 一种搜索结果排序方法、装置、电子设备和存储介质 |
-
2022
- 2022-08-18 CN CN202210994464.3A patent/CN115328977A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226515A (zh) * | 2022-12-29 | 2023-06-06 | 北京奇树有鱼文化传媒有限公司 | 一种搜索结果排序方法、装置、电子设备和存储介质 |
CN116226515B (zh) * | 2022-12-29 | 2024-02-13 | 北京奇树有鱼文化传媒有限公司 | 一种搜索结果排序方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189991B (zh) | 重复视频识别方法、装置、终端及计算机可读存储介质 | |
US7065521B2 (en) | Method for fuzzy logic rule based multimedia information retrival with text and perceptual features | |
US8010523B2 (en) | Dynamic search box for web browser | |
US7788261B2 (en) | Interactive web information retrieval using graphical word indicators | |
US9760636B1 (en) | Systems and methods for browsing historical content | |
US20060106767A1 (en) | System and method for identifying query-relevant keywords in documents with latent semantic analysis | |
US7475074B2 (en) | Web search system and method thereof | |
US20030135725A1 (en) | Search refinement graphical user interface | |
JP6346218B2 (ja) | オンライン取引プラットフォームのための検索方法、装置およびサーバ | |
JPH0981574A (ja) | 検索集合表示画面を利用したデータベース検索法およびシステム | |
WO2014050002A1 (ja) | クエリ類似度評価システム、評価方法、及びプログラム | |
CN105159938A (zh) | 检索方法和装置 | |
CN113918605A (zh) | 数据查询方法、装置、设备以及计算机存储介质 | |
CN115328977A (zh) | 一种页面数据的分页预处理方法及装置 | |
CN109656947B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
JP5324677B2 (ja) | 類似文書検索支援装置及び類似文書検索支援プログラム | |
CN106919593B (zh) | 一种搜索的方法和装置 | |
JP7256357B2 (ja) | 情報処理装置、制御方法、プログラム | |
CN102222119A (zh) | 数字图书系统中的个性化自动文摘方法 | |
JPH07192010A (ja) | 文書処理装置 | |
CN114780589A (zh) | 多表连接查询方法、装置、设备及存储介质 | |
JP2007034772A (ja) | Webサイト検索結果の最適表示システム及びその装置及びその方法及びそのプログラム | |
CN111368055A (zh) | 一种专利数据库联合企业信息平台的检索方法和装置 | |
CN113536118B (zh) | 搜索默认词的配置方法、装置、计算机设备及存储介质 | |
CN114385925B (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 |