CN108153847A - 一种列表分页方法、装置及电子设备 - Google Patents

一种列表分页方法、装置及电子设备 Download PDF

Info

Publication number
CN108153847A
CN108153847A CN201711383035.8A CN201711383035A CN108153847A CN 108153847 A CN108153847 A CN 108153847A CN 201711383035 A CN201711383035 A CN 201711383035A CN 108153847 A CN108153847 A CN 108153847A
Authority
CN
China
Prior art keywords
paging
list
server
range
table data
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.)
Granted
Application number
CN201711383035.8A
Other languages
English (en)
Other versions
CN108153847B (zh
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201711383035.8A priority Critical patent/CN108153847B/zh
Publication of CN108153847A publication Critical patent/CN108153847A/zh
Application granted granted Critical
Publication of CN108153847B publication Critical patent/CN108153847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种列表分页方法、装置及电子设备,涉及互联网技术领域。所述方法应用于服务器,包括:接收终端设备发送的分页请求,从所述已排序好的内部分页列表中选择内部分页页码范围,从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据,组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致,将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。利用本发明实施例提供的列表分页方法,可以提高翻页响应速度,从而实现了高效率分页,提高了用户体验。

Description

一种列表分页方法、装置及电子设备
技术领域
本发明涉及互联网技术领域,特别是涉及一种列表分页方法、装置及电子设备。
背景技术
用户在观看视频时,会通过浏览视频剧集列表来选择目标视频,当视频剧集集数较多时,剧集列表会分成多页,用户通过翻看分页来浏览剧集列表,从而选择自己想要观看的剧集。因此剧集列表翻页成为非常常见的需求。
现有技术所采用的剧集列表分页显示的方式为:终端设备向服务器发送分页请求,该分页请求中包括显示哪一分页的剧集列表以及每一分页所显示的剧集列表条数,服务器根据终端设备发送的分页请求,确定将要向终端设备提供的剧集列表条目的范围,然后在服务器的数据库中检索出所确定的剧集列表条目范围内的剧集列表数据,并进行排序,服务器再将排好序的剧集列表数据发送至终端设备。
现有技术虽然可以实现按照终端设备的分页请求对视频剧集列表进行分页显示,但是当服务器数据库中的视频剧集数据较多时,从服务器的数据库中检索目标剧集列表数据耗时较长,每当用户翻页时,均需要从数据库中检索出下一目标分页的剧集列表数据,这时翻页的响应速度会较慢,用户体验不佳。
发明内容
本发明实施例的目的在于提供一种列表分页方法、装置及电子设备,可以提高翻页响应速度,从而实现了高效率分页,提高了用户体验。
具体技术方案如下:
第一方面,本发明实施例提供了一种列表分页方法,应用于服务器,所述服务器中设置有已排序好的内部分页列表,该方法包括:
接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
可选的,所述从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据,包括:
判断所述服务器的缓存内是否存储有所选择的内部分页页码范围内的所有分页的列表数据;
如果所述服务器的缓存内存储有所选择的内部分页页码范围内的所有分页的列表数据,从所述缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
或者,如果所述服务器的缓存内未存储有所选择的内部分页页码范围内的所有分页的列表数据,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据并进行排序,把排序后的所述内部分页的列表数据存入所述缓存中。
可选的,在所述从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据之前还包括:
将所述已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减;当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。
可选的,所述已排序好的内部分页列表的每一分页的列表数据在所述服务器的缓存中存储时间的计算公式为:
pageCachedLife=Math.max(totalPage–currentPage,1)×unitCacheLife
其中,pageCachedLife为当前页的存储时间,totalPage为内部分页列表的总页码,currentPage为当前分页页码,unitCacheLife为预设的单位缓存时间。
可选的,所述已排序好的内部分页列表中每一分页的列表条目数小于终端设备所显示的分页列表的每一分页的列表条目数。
第二方面,本发明实施例提供了一种列表分页装置,应用于服务器,所述服务器中设置有已排序好的内部分页列表,所述列表分页装置包括:
接收模块,用于接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
选择模块,用于从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
加载模块,用于从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
组合模块,用于组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
发送模块,用于将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
可选的,所述加载模块包括:
判断单元,用于判断所述服务器的缓存内是否存储有所选择的内部分页页码范围内的所有分页的列表数据;
加载单元,用于当所述判断单元的判断结果为是时,从所述缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
检索单元,用于当所述判断单元的判断结果为否时,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据并进行排序,把排序后的所述内部分页的列表数据存入所述缓存中。
在本发明实施例第二方面的另一种具体实施方式中,所述列表分页装置还包括:
缓存分配模块,用于将所述已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减;
缓存清除模块,用于当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。
可选的,所述已排序好的内部分页列表的每一分页的列表数据在所述服务器的缓存中存储时间的计算公式为:
pageCachedLife=Math.max(totalPage–currentPage,1)×unitCacheLife
其中,pageCachedLife为当前页的存储时间,totalPage为内部分页列表的总页码,currentPage为当前分页页码,unitCacheLife为预设的单位缓存时间。
优选的,所述已排序好的内部分页列表中每一分页的列表条目数小于终端设备所显示的分页列表的每一分页的列表条目数。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的步骤。
本发明实施例提供的列表分页方法、装置及电子设备,在服务器中预设了内部分页列表,当服务器接收终端设备发送的分页请求并确定终端设备将要显示的目标列表条目的范围后,服务器从所述预设的内部分页列表中选择内部分页页码范围,再从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据,组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致,将组合和/或裁剪后的所述内部列表的数据发送至终端设备。
本发明由于在服务器中预设了内部分页列表,且将该内部分页列表的每一分页内的列表数据进行了缓存,当用户在终端设备翻页时,可以从缓存中加载所需要的内部分页的列表数据,而不用从服务器的数据库中检索再排序,从而提高了翻页响应速度,实现了高效率分页,提高了用户体验。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种列表分页方法的流程示意图;
图2为本发明实施例提供的一种列表分页方法的流程示意简图;
图3为本发明实施例提供的一种列表分页装置的结构示意图;
图4为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了提高翻页响应速度,从而实现高效率分页,提高用户体验,本发明实施例提供了一种列表分页方法、装置及电子设备,通过在服务器中预设内部分页列表,且将该内部分页列表的每一分页内的列表数据进行了缓存,当用户在终端设备翻页时,可以从缓存中加载所需要的内部分页的列表数据,而不用从服务器的数据库中检索再排序,从而提高了翻页响应速度,实现了高效率分页,提高了用户体验。
下面首先对本发明实施例所提供的一种列表分页方法进行介绍。
需要说明的是,本发明实施例所提供的一种列表分页方法可以应用于互联网行业。
如图1所示,本发明实施例所提供的一种列表分页方法,应用于服务器,所述服务器中设置有已排序好的内部分页列表,该方法可以包括如下步骤:
S101,接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
在实际应用中,服务器中设置有排序好的内部分页列表,该列表已经被分页。例如,该分页方式可以是按顺序每一分页包括10条列表,其中第一分页包括第1至第10条列表,第二分页包括第11至第20条列表,依次类推,直至将所有列表排序完。
所说的终端设备的具体形式可以为手机、平板电脑、笔记本电脑、台式电脑、智能电视等设备,终端设备的具体形式不应构成对本发明的限制。
在实际应用中,当服务器接收到终端设备发送的分页请求后,可以确定所述终端设备将要显示的目标列表条目的范围。例如,某一电视剧总集数为85集,终端设备将要显示的是每分页显示40条剧集列表的分页列表,当终端设备将要显示第二分页的剧集列表时,由终端设备发送的分页请求所确定的终端设备将要显示的目标列表条目的范围为第41至第80集,当终端将要显示第三分页的列表时,由终端设备发送的分页请求所确定的终端设备将要显示的目标剧集列表条目的范围为第81至第85集。
S102,从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
在实际应用中,当服务器接收到终端设备发送的分页请求后,会确定出终端设备将要显示的目标列表条目范围,服务器根据该列表条目范围,从服务器已排序好的内部分页列表中选择内部分页页码范围,所选出的内部分页页码范围内的列表条目包含了终端设备将要显示的目标列表条目范围内的所有列表。
以某一电视剧总集数为85集为例,若终端设备将要显示的是每一分页显示40条列表的分页列表,服务器中设置的已排序好的内部分页列表的每一分页列表数为10,则服务器中的内部分页列表的第一分页为第1至第10集,第二分页为第11至第20集,以此类推。当终端设备将要显示第二分页的列表,即第41至第80集时,终端设备从已排序好的内部分页列表中选择的内部分页页码范围为第4至第8分页。若终端设备将要显示的是每一分页显示35条列表的分页列表,当终端设备将要显示第二分页的列表,即第36至第70集时,终端设备从已排序好的内部分页列表中选择的内部分页页码范围为第4至第7分页。
S103,从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
在本发明的一种具体实施方式中,服务器的缓存可以是服务器的高速缓存存储器Cache。
在本发明的一种具体实施方式中,当服务器的缓存内存储有所选择的内部分页页码范围内的所有分页的列表数据时,从服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;当服务器的缓存内未存储有所选择的内部分页页码范围内的所有分页的列表数据时,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据,并把检索出的所述内部分页的列表数据存入所述缓存中。
可以理解的是,任一分页的列表数据被服务器缓存指的是该分页内的所有列表条目的数据以及所有列表条目的排序信息均被缓存存储。例如,每一内部分页包括10条列表,若第二分页列表被缓存存储,则代表第二分页的第11条至第20条列表以及这十条列表的排序信息均被缓存存储。
在实际应用中,服务器的缓存在初始状态时是没有存储内部分页列表的任一分页的列表数据的,此时,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据并进行排序,把排序后的所述内部分页的列表数据存入所述缓存中。
在本发明的一个具体的实施方式中,在步骤S103之前,还可以包括以下步骤:
将所述已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减;当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。
在实际应用中,服务器会对数据库中的列表数据进行更新,当列表数据被更新后,就要及时更新服务器的内部分页列表的每一分页的列表数据。当将已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中后,服务器是从缓存中来提取每一分页的列表数据的,因此当服务器的数据库中的列表数据被更新后,要及时更新缓存中已经存储的分页列表的每一分页的列表数据。这样从缓存读取列表可以提高终端设备进行列表翻页时的翻页速度,对缓存的更新可以保证终端接收到的是更新的列表数据。
在实际应用中,对于服务器的内部分页列表内的数据,由于时常会有新列表数据被添加在分页列表中,该新列表数据一般会按顺序排在已有分页列表的最后,因此,排在分页列表最后一页的列表数据会被经常更新。排在分页列表较前页码内的列表数据只是被终端设备读取,不会被经常性地更新,只有少数情况下,才会对较前页码的分页列表数据进行更新。例如,较前页码的某一分页内的列表数据发生错误,对该列表数据进行更错,较前页码的某一分页内的列表数据缺少某一列表数据,将所缺的列表数据插入已排序好的分页列表内的相应位置。一般情况下,较前页码的分页列表数据创建时间较长,数据已经比较稳定,较后页码的分页列表创建时间较短,列表数据可能还不完善,也就是说,较后页码的分页列表数据被更新的概率大于较前页码的分页列表被更新的概率。
因此,在本发明实施例的一个具体实施方式中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减,当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。当某一分页的列表数据到达缓存存储时间后,将该分页的列表数据清除,直至终端设备再次读取该分页的列表数据时,再从服务器的数据库中进行检索并排序,将排序好的该分页的列表数据发送给终端设备,并存入缓存中。利用该具体实施方式,既可以保证缓存内的列表数据被及时更新,满足数据的近实时性要求,又不会因频繁更新缓存中已经稳定的较前页码列表数据,导致无用的更新,减少了更新复杂度,提高了更新效率。
在实际应用中,例如,对于一个85集的电视剧,服务器的内部分页列表可以为每页10条剧集列表,若该剧只更新到了第46集,内部分页列表有5页,第1分页至第5分页的分页列表数据在服务器的缓存内存储的时间可以为:5天、4天、3天、2天、1天。当第2分页的列表数据在缓存中存储时间达到4天时,清除第2分页的列表数据,此时缓存中已经不存在第2分页的列表数据,当终端设备再次读取第2分页的列表时,再从服务器的数据库中进行检索并排序,将排序好的第2分页的列表数据发送给终端设备,并存入缓存中。当第5分页的列表数据在缓存中存储时间达到1天时,清除第5分页的列表数据,当终端设备再次读取第5分页的列表时,再从服务器的数据库中进行检索并排序,此时若服务器的数据库中更新了第47、48集剧集的列表,则发送给终端设备的排序好的第5分页的列表数据为第41至第48集的剧集列表,还要将第5分页的排序好的列表数据,即第41至第48集的剧集列表,存入服务器的缓存中,以方便终端设备下一次对该分页列表的读取。
在本发明实施例的一个优选的实施方式中,所述已排序好的内部分页列表的每一分页的列表数据在服务器的缓存中存储时间的计算公式为公式(1):
pageCachedLife=Math.max(totalPage–currentPage,1)×unitCacheLife (1)
其中,pageCachedLife为当前页的存储时间,totalPage为内部分页列表的总页码,currentPage为当前分页页码,unitCacheLife为预设的单位缓存时间。
例如,预设的单位缓存时间unitCacheLife为24小时,内部分页列表的总页码totalPage为9页,若求第1分页的列表在缓存中的存储时间,则将参数unitCacheLife、totalPage以及currentPage的值代入公式(1)得到的结果为Math.max(9–1,1)×24,即192个小时,第1分页的列表数据在缓存中的存储时间为192个小时。若求第8分页的列表在缓存中的存储时间,则利用公式1得到的结果是Math.max(9–8,1)×24,即24个小时,第8分页的列表数据在缓存中的存储时间为24个小时。利用公式(1)作为每一分页的列表数据在缓存中的存储时间策略的计算公式,可以使计算出的每一分页的列表数据在缓存中的存储时间按分页页码由小到大的顺序,存储依次递减。
S104,组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
在实际应用中,当所述终端设备将要显示的分页列表的每一分页显示的列表条目数是服务器的内部分页列表的每一分页显示的列表条目数的整数倍时,只需组合所选择的内部分页页码范围内的内部列表;当所述终端设备将要显示的分页列表的每一分页显示的列表条目数不是服务器的内部分页列表的每一分页显示的列表条目数的整数倍时,需要组合并裁剪或只裁剪所选择的内部分页页码范围内的内部列表。例如,服务器的内部分页列表每一分页显示的列表条目为10条,当终端设备的每一分页显示40条列表,终端设备要显示第二分页的列表条目时,即终端设备要显示第41至第80条的列表时,只需将服务器所选择的第5至第8页的内部列表进行组合就可生成第41至第80条列表;当终端设备的每一分页显示35条列表,终端设备要显示第二分页的列表条目时,即终端设备要显示第36至第70条的列表时,不仅要将服务器所选择的第4至第7分页的内部列表进行组合,还要将第4分页的第31至第34条列表裁剪掉,才可生成第35至第70条列表;当终端设备的每一分页显示5条列表,终端设备要显示第二分页的列表条目时,即终端设备要显示第6至第10条的列表时,只需将服务器所选择的第1分页的第1至第5条列表裁剪掉就可生成第6至第10条列表。
可以理解的是,服务器中已排序好的内部分页列表中每一分页的列表条目数可以小于、等于或大于终端设备将要显示的分页列表的每一分页的列表条目数。为了减少对服务器内部分页列表的每一分页的裁剪操作,从而节省操作步骤,提高操作效率,在本发明的一个具体实施方式中,服务器的内部分页列表的每一分页的列表条目数小于终端设备发送的分页请求的列表条目数。
在本发明的一个优选的实施方式中,为进一步减少对服务器内部分页列表的每一分页的裁剪操作,提高终端设备在翻页时的翻页速度,终端设备将要显示的分页列表的每一分页的列表条目数是服务器的内部分页列表的每一分页的列表条目数的整数倍。例如,若终端设备将要显示的分页列表的每一分页的列表条目数为35条,则服务器的内部分页列表的每一分页的列表条目数为5条或7条。
S105,将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
如图2所示,根据终端设备每一分页将要显示的列表条数,以及终端设备将要显示哪一分页页码的列表,确定终端设备将要显示的列表条目的范围。此处以M来表示终端设备每一分页将要显示的列表条数,M由终端设备根据需要决定,例如,M可以是25、50、80等,也可以是其他条目数,此处不做具体限定。服务器根据终端设备将要显示的列表条目的范围,确定服务器的内部分页列表中包含了终端设备将要显示的列表条目的范围的所有列表的内部分页页码的范围,例如所确定的服务器的内部分页列表的分页范围为第1页至第3页。其中内部分页列表的每一分页的列表条目数N可以任意确定。确定了内部分页页码的范围后,从服务器的缓存中加载所确定的内部分页页码范围内的列表数据,将加载的内部分页页码范围内的列表数据组合和/或裁剪后,将列表数据发送给终端设备。具体的,例如单位存储时间为1天,内部分页列表的第1分页在缓存中被存储的时间可以是4天,内部分页列表的第2分页在缓存中被存储的时间可以是4天,若第3分页没被缓存存储,则从数据库中检索出该分页的列表数据并排序,并将检索并排序的数据存入缓存中。
本发明的技术方案,在服务器中预设了内部分页列表,当服务器接收终端设备发送的分页请求并确定终端设备将要显示的目标列表条目的范围后,服务器从所述预设的内部分页列表中选择内部分页页码范围,再从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据,组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致,将组合和/或裁剪后的所述内部列表的数据发送至终端设备。
由于在服务器中预设了内部分页列表,且将该内部分页列表的每一分页内的列表数据进行了缓存,当用户在终端设备翻页时,可以从缓存中加载所需要的内部分页的列表数据,而不用从服务器的数据库中检索再排序,从而提高了翻页响应速度,实现了高效率分页,提高了用户体验。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
相应于图1所示的方法,本发明实施例还提供一种列表分页装置,应用于服务器,所述服务器中设置有已排序好的内部分页列表,如图3所示,该装置包括:
接收模块210,用于接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
选择模块220,用于从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
加载模块230,用于从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
组合模块240,用于组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
发送模块250,用于将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
在本发明实施例的一种具体实施方式中,加载模块250可以包括:
判断单元,用于判断所述服务器的缓存内是否存储有所选择的内部分页页码范围内的所有分页的列表数据;
加载单元,用于当所述判断单元的判断结果为是时,从所述缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
检索单元,用于当所述判断单元的判断结果为否时,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据并进行排序,把排序后的所述内部分页的列表数据存入所述缓存中。
在本发明实施例的一种具体实施方式中,所述列表分页装置还可以包括:
缓存分配模块,用于将所述已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减;
缓存清除模块,用于当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。
在本发明实施例的一种具体实施方式中,所述已排序好的内部分页列表的每一分页的列表数据在所述服务器的缓存中存储时间可以使用以下计算公式(1)来计算:
pageCachedLife=Math.max(totalPage–currentPage,1)×unitCacheLife (1)
其中,pageCachedLife为当前页的存储时间,totalPage为内部分页列表的总页码,currentPage为当前分页页码,unitCacheLife为预设的单位缓存时间。
在本发明实施例的一种具体实施方式中,所述已排序好的内部分页列表中每一分页的列表条目数小于终端设备所显示的分页列表的每一分页的列表条目数。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
在实际应用中,上述电子设备可以是服务器。
本发明实施例还提供了本发明实施例提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种列表分页方法,应用于服务器,其特征在于,所述服务器中设置有已排序好的内部分页列表,所述方法包括:
接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
2.根据权利要求1所述的方法,其特征在于,所述从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据,包括:
判断所述服务器的缓存内是否存储有所选择的内部分页页码范围内的所有分页的列表数据;
如果所述服务器的缓存内存储有所选择的内部分页页码范围内的所有分页的列表数据,从所述缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
或者,如果所述服务器的缓存内未存储有所选择的内部分页页码范围内的所有分页的列表数据,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据并进行排序,把排序后的所述内部分页的列表数据存入所述缓存中。
3.根据权利要求1或2所述的方法,其特征在于,在所述从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据之前,还包括:
将所述已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减;当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。
4.根据权利要求3所述的方法,其特征在于,所述已排序好的内部分页列表的每一分页的列表数据在所述服务器的缓存中存储时间的计算公式为:
pageCachedLife=Math.max(totalPage–currentPage,1)×unitCacheLife
其中,pageCachedLife为当前页的存储时间,totalPage为内部分页列表的总页码,currentPage为当前分页页码,unitCacheLife为预设的单位缓存时间。
5.根据权利要求1所述的方法,其特征在于,所述已排序好的内部分页列表中每一分页的列表条目数小于终端设备所显示的分页列表的每一分页的列表条目数。
6.一种列表分页装置,应用于服务器,其特征在于,所述服务器中设置有已排序好的内部分页列表,所述列表分页装置包括:
接收模块,用于接收终端设备发送的分页请求,其中,所述分页请求用于确定所述终端设备将要显示的目标列表条目的范围;
选择模块,用于从所述已排序好的内部分页列表中选择内部分页页码范围,其中,所选择的内部分页页码范围内的列表包含了所述目标列表条目的范围内的所有列表;
加载模块,用于从所述服务器的缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
组合模块,用于组合和/或裁剪所选择的内部分页页码范围内的内部列表,使组合和/或裁剪后的所述内部列表的范围与所述终端设备将要显示的目标列表条目的范围一致;
发送模块,用于将组合和/或裁剪后的所述内部分页列表的数据发送至终端设备。
7.根据权利要求6所述的装置,其特征在于,所述加载模块包括:
判断单元,用于判断所述服务器的缓存内是否存储有所选择的内部分页页码范围内的所有分页的列表数据;
加载单元,用于当所述判断单元的判断结果为是时,从所述缓存内加载所选择的内部分页页码范围内的所有分页的列表数据;
检索单元,用于当所述判断单元的判断结果为否时,从服务器的数据库中检索出所选择的内部分页页码范围内没有被所述缓存存储的分页的列表数据并进行排序,把排序后的所述内部分页的列表数据存入所述缓存中。
8.根据权利要求6或7所述的装置,其特征在于,所述列表分页装置还包括:
缓存分配模块,用于将所述已排序好的内部分页列表的每一分页的列表数据存储在所述服务器的缓存中,将所述服务器的缓存内存储的每一分页的列表数据,按分页页码由小到大的顺序,存储时间依次递减;
缓存清除模块,用于当所述服务器的缓存内的任一分页的列表数据到达所述存储时间后,清除所述服务器的缓存内到达预设的所述存储时间的分页的列表数据。
9.根据权利要求8所述的装置,其特征在于,所述已排序好的内部分页列表的每一分页的列表数据在所述服务器的缓存中存储时间的计算公式为:
pageCachedLife=Math.max(totalPage–currentPage,1)×unitCacheLife
其中,pageCachedLife为当前页的存储时间,totalPage为内部分页列表的总页码,currentPage为当前分页页码,unitCacheLife为预设的单位缓存时间。
10.根据权利要求6所述的装置,其特征在于,所述已排序好的内部分页列表中每一分页的列表条目数小于终端设备所显示的分页列表的每一分页的列表条目数。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现权利要求1-5任一所述的方法步骤。
CN201711383035.8A 2017-12-20 2017-12-20 一种列表分页方法、装置及电子设备 Active CN108153847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711383035.8A CN108153847B (zh) 2017-12-20 2017-12-20 一种列表分页方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711383035.8A CN108153847B (zh) 2017-12-20 2017-12-20 一种列表分页方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108153847A true CN108153847A (zh) 2018-06-12
CN108153847B CN108153847B (zh) 2021-11-26

Family

ID=62464376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711383035.8A Active CN108153847B (zh) 2017-12-20 2017-12-20 一种列表分页方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108153847B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020019450A1 (zh) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 分程异步加载方法、装置、终端设备及存储介质
CN110943970A (zh) * 2019-10-09 2020-03-31 视联动力信息技术股份有限公司 一种数据请求方法和装置
CN111858581A (zh) * 2020-06-08 2020-10-30 远光软件股份有限公司 一种分页查询的方法、装置、存储介质和电子设备
CN113536153A (zh) * 2021-06-30 2021-10-22 北京达佳互联信息技术有限公司 兴趣点获取方法、装置、电子设备和存储介质
CN117573378A (zh) * 2024-01-15 2024-02-20 摩尔线程智能科技(北京)有限责任公司 内存管理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107230A1 (en) * 2004-10-25 2006-05-18 Sanderson Jacob A Application of paging to a dataset, graphical display window and graphical scrollbar grip
CN105653611A (zh) * 2015-12-24 2016-06-08 深圳市汇朗科技有限公司 分表分页排序查询方法及装置
CN105843958A (zh) * 2016-04-15 2016-08-10 北京思特奇信息技术股份有限公司 一种基于缓存的服务端分页方法和系统
CN107180043B (zh) * 2016-03-09 2019-08-30 北京京东尚科信息技术有限公司 分页实现方法和分页系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107230A1 (en) * 2004-10-25 2006-05-18 Sanderson Jacob A Application of paging to a dataset, graphical display window and graphical scrollbar grip
CN105653611A (zh) * 2015-12-24 2016-06-08 深圳市汇朗科技有限公司 分表分页排序查询方法及装置
CN107180043B (zh) * 2016-03-09 2019-08-30 北京京东尚科信息技术有限公司 分页实现方法和分页系统
CN105843958A (zh) * 2016-04-15 2016-08-10 北京思特奇信息技术股份有限公司 一种基于缓存的服务端分页方法和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020019450A1 (zh) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 分程异步加载方法、装置、终端设备及存储介质
CN110943970A (zh) * 2019-10-09 2020-03-31 视联动力信息技术股份有限公司 一种数据请求方法和装置
CN110943970B (zh) * 2019-10-09 2022-12-20 视联动力信息技术股份有限公司 一种数据请求方法和装置
CN111858581A (zh) * 2020-06-08 2020-10-30 远光软件股份有限公司 一种分页查询的方法、装置、存储介质和电子设备
CN111858581B (zh) * 2020-06-08 2024-05-28 远光软件股份有限公司 一种分页查询的方法、装置、存储介质和电子设备
CN113536153A (zh) * 2021-06-30 2021-10-22 北京达佳互联信息技术有限公司 兴趣点获取方法、装置、电子设备和存储介质
CN117573378A (zh) * 2024-01-15 2024-02-20 摩尔线程智能科技(北京)有限责任公司 内存管理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108153847B (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN108153847A (zh) 一种列表分页方法、装置及电子设备
US9438540B2 (en) Systems and methods for a search-based email client
EP1393185B1 (en) System and method for progressive and hierarchical caching
US9519713B2 (en) Method for searching for multimedia content items on the internet
US20050278314A1 (en) Variable length snippet generation
US9507821B2 (en) Mail indexing and searching using hierarchical caches
US20090089690A1 (en) System and method for improved tag entry for a content item
CN101488147B (zh) 用于信息搜索的设备、系统和方法
US20080082554A1 (en) Systems and methods for providing a dynamic document index
CN102307234A (zh) 基于移动终端的资源检索方法
US7536512B2 (en) Method and apparatus for space efficient identification of candidate objects for eviction from a large cache
CN106202416A (zh) 列表数据写方法和装置、列表数据读取方法和装置
US11775480B2 (en) Method and system for deleting obsolete files from a file system
WO2013041022A1 (zh) 一种网址导航页面生成方法、装置以及程序
CN101997933A (zh) 一种网址提供方法、装置及系统
CN112148736A (zh) 缓存数据的方法、设备及存储介质
CN103559307A (zh) 一种查询的缓存方法及装置
CN109977318B (zh) 书籍搜索方法、电子设备及计算机存储介质
CN101599069A (zh) 电子文档的搜索方法及系统
CN105550180A (zh) 数据处理的方法、装置及系统
CN112395215B (zh) DRAM-less固态硬盘映射表管理方法、装置、计算机设备及存储介质
US20080256460A1 (en) Computer-based electronic information organizer
CN111078998B (zh) 信息检索方法、装置、存储介质及服务器
EP2420945A1 (en) Foldering by stable query
US20100293155A1 (en) Method for filtering file clusters

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