CN108509529A - 数据分页排序方法、装置及可读存储介质 - Google Patents

数据分页排序方法、装置及可读存储介质 Download PDF

Info

Publication number
CN108509529A
CN108509529A CN201810209797.4A CN201810209797A CN108509529A CN 108509529 A CN108509529 A CN 108509529A CN 201810209797 A CN201810209797 A CN 201810209797A CN 108509529 A CN108509529 A CN 108509529A
Authority
CN
China
Prior art keywords
data
page
zset
target data
vernier
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
CN201810209797.4A
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810209797.4A priority Critical patent/CN108509529A/zh
Publication of CN108509529A publication Critical patent/CN108509529A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种数据分页排序方法、装置及可读存储介质。该方法包括:响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中;将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据;按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识;基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息;将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。由此,能够实现高效快速的分页,性能卓越,分页排序查询效率高。

Description

数据分页排序方法、装置及可读存储介质
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据分页排序方法、装置及可读存储介质。
背景技术
传统的分页查询方式是在Mysql中进行的,利用Mysql的LIMIT和OFFSET关键字,可以实现便捷的分页,但是当数据量级庞大,达到百万、千万级别时,Mysql单纯使用LIMIT和OFFSET进行分页效率会急剧下降,会出现几十秒的查询耗时,这对线上业务是灾难的影响。在这种情况下,传统的优化策略是使用自增ID作为游标,对ID本身进行分页,但是这种方法也只能应对少量场景,对于数据库记录可能被删除,对某字段有排序诉求时,该方法是很难得到正确结果的。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种数据分页排序方法、装置及可读存储介质,能够实现高效快速的分页,性能卓越,分页排序查询效率高。
为了实现上述目的,本发明实施例采用的技术方案如下:
结合第一方面,本发明实施例提供一种数据分页排序方法,应用于电子设备,所述方法包括:
响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中;
将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据,所述策略数据结构包括String结构、ZSET结构和HASH结构;
按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识,其中,所述ZSET结构数据包括排序因子和对应的标识;
基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息;
将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。
可选地,所述按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合的步骤,包括:
按照排序因子对ZSET结构数据进行排序;
基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
可选地,所述基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合的步骤,包括:
基于设定的开始游标和结束游标,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
可选地,所述对排序后的ZSET结构数据进行分页,以得到分页排序后的目标数据的标识集合的步骤之前,所述方法还包括:
判断设定的开始游标和结束游标之间的偏移量是否大于预设偏移量;
若大于,则重新设定开始游标和结束游标,直到所述开始游标和结束游标之前的偏移量不大于所述预设偏移量。
可选地,所述每条目标数据的数据标识对应的数据信息为JSON格式的数据信息。
结合第二方面,本发明实施例还提供一种数据分页排序装置,应用于电子设备,所述装置包括:
同步模块,用于响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中;
存储模块,用于将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据,所述策略数据结构包括String结构、ZSET结构和HASH结构;
分页排序模块,用于按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识,其中,所述ZSET结构数据包括排序因子和对应的标识;
访问模块,用于基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息;
信息处理模块,用于将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。
结合第三方面,本发明实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的数据分页排序方法。
相对于现有技术而言,本发明具有以下有益效果:
本发明实施例提供一种数据分页排序方法、装置及可读存储介质,只需开发者使用常见的简单的策略,例如查询同步策略即可将关系型数据库中的数据同步至Redis数据库中,而后通过将同步的数据进行分页排序查询算法处理,得到分页排序后的目标数据的标识集合,并基于处理后的每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息,再对每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据,通过利用非关系型数据库Redis进行海量数据排序分页,即便当数据量级庞大时也能够实现高效快速的分页,性能卓越,分页排序查询效率高,有效解决了传统关系型数据库中海量数据分页的效率问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本发明实施例提供的电子设备的一种结构示意框图;
图2为本发明实施例提供的数据分页排序装置的一种功能模块图;
图3为本发明实施例提供的数据分页排序方法的一种流程示意图;
图4为本发明实施例提供的数据分页排序方法的另一种流程示意图。
图标:100-电子设备;110-总线;120-处理器;130-存储介质;140-总线接口;150-网络适配器;160-用户接口;200-数据分页排序装置;210-同步模块;220-存储模块;230-分页排序模块;240-访问模块;250-信息处理模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,进一步地,为本发明实施例提供电子设备100的结构框图。所述电子设备100可以通过诸如有线或无线网络等方式发送或接收信号,或可以在诸如存储器中将信号处理或存储为物理存储状态。每个电子设备100可以是包括硬体、软体或内嵌逻辑元件或者两个或多个此类元件的组合的电子装置,并能够执行由电子设备100实施或支援的合适的功能。可选地,所述电子设备100可以是一种具有无线收发功能的设备,包括室内或室外、手持、穿戴或车载设备。例如,所述电子设备100可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。
如图1所示,所述电子设备100可以由总线110作一般性的总线体系结构来实现。根据电子设备100的具体应用和整体设计约束条件,总线110可以包括任意数量的互连总线和桥接。总线110将各种电路连接在一起,这些电路包括处理器120、存储介质130和总线接口140。可选地,电子设备100可以使用总线接口140将网络适配器150等经由总线110连接。网络适配器150可用于实现电子设备100中物理层的信号处理功能,并通过天线实现射频信号的发送和接收。用户接口160可以连接外部设备,例如:键盘、显示器、鼠标或者操纵杆等。总线110还可以连接各种其它电路,如定时源、外围设备、电压调节器或者功率管理电路等,这些电路是本领域所熟知的,因此不再详述。
可以替换的,电子设备100也可配置成通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理功能的一个或多个微处理器,以及提供存储介质130的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。
可替换的,电子设备100可以使用下述来实现:具有处理器120、总线接口140、用户接口160的ASIC(专用集成电路);以及集成在单个芯片中的存储介质130的至少一部分,或者,电子设备100可以使用下述来实现:一个或多个FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本发明通篇所描述的各种功能的电路的任意组合。
其中,处理器120负责管理总线110和一般处理(包括执行存储在存储介质130上的软件)。处理器120可以使用一个或多个通用处理器和/或专用处理器来实现。处理器120的例子包括微处理器、微控制器、DSP处理器和能够执行软件的其它电路。应当将软件广义地解释为表示指令、数据或其任意组合,而不论是将其称作为软件、固件、中间件、微代码、硬件描述语言还是其它。
在图1中存储介质130被示为与处理器120分离,然而,本领域技术人员很容易明白,存储介质130或其任意部分可位于电子设备100之外。举例来说,存储介质130可以包括传输线、用数据调制的载波波形、和/或与无线节点分离开的计算机制品,这些介质均可以由处理器120通过总线接口140来访问。可替换地,存储介质130或其任意部分可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
所述处理器120可执行上述实施例,具体地,所述存储介质130中存储有数据分页排序装置200,所述处理器120可以用于执行所述数据分页排序装置200。
请参阅图2,为本发明实施例提供的上述数据分页排序装置200的一种功能模块图,所述数据分页排序装置200可包括:
同步模块210,用于响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中。
存储模块220,用于将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据,所述策略数据结构包括String结构、ZSET结构和HASH结构。
分页排序模块230,用于按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识,其中,所述ZSET结构数据包括排序因子和对应的标识。
访问模块240,用于基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息。
信息处理模块250,用于将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。
可选地,所述按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合的方式,包括:
按照排序因子对ZSET结构数据进行排序;
基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
可选地,所述基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合的方式,包括:
基于设定的开始游标和结束游标,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
可选地,所述分页排序模块230,还用于判断设定的开始游标和结束游标之间的偏移量是否大于预设偏移量,若大于,则重新设定开始游标和结束游标,直到所述开始游标和结束游标之前的偏移量不大于所述预设偏移量。
请参阅图3,为本发明实施例提供的数据分页排序方法的一种流程示意图,所述方法由图1中所示的电子设备100执行,下面结合图3对所述数据分页排序装置200包括的各个功能模块进行详细描述。所应说明的是,本发明实施例提供的数据分页排序方法不以图3及以下所述的具体顺序为限制。所述方法的具体流程如下:
步骤S210,响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中。本实施例中,该步骤S210可以由上述同步模块210执行。
本实施例中,首先通过数据同步请求,基于关系型数据库,例如Mysql中的海量数据,将数据同步至Redis数据库中,此处同步的策略不进行赘述,选取常用的策略如查询同步等即可。由此,开发人员只需要采用常见的简单同步策略即可将数据同步至Redis数据库中,以为后续的数据排序分页提供数据基础。
步骤S220,将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据。本实施例中,该步骤S220可以由上述存储模块220执行。
本实施例中,所述策略数据结构包括String结构、ZSET结构和HASH结构。下面以主播直播时长(uid,tag,time)为例,对上述策略数据结构进行简要说明。
Redis的String结构:存储最新的通用Key前缀,例如:key_yyyyMMdd,此处的yyyyMMdd为天级别的时间戳方便查询历史每天的主播直播时长数据。
Redis的ZSET结构:存储带主体Id和参照排序列的值。这里为主播Uid和直播时长time,伪代码为:zaddkey_yyyyMMdd_zsettimeuid;当需要根据tag分区查时,伪代码为:zaddkey_yyyyMMdd_zset_tagtimeuid
Redis的HASH结构:存储带主体id和主体详细信息(即对应Mysql中的一行数据,可以以JSON格式存储)。伪代码为:hsetkey_yyyyMMdd_hashuid{entity_json}
此时,已经完成了关系型数据库的数据同步至Redis并按照策略数据结构存储,以为后续的分页排序查询提供数据基础,接下来结合步骤S230对分页排序查询算法的实现进行说明。
步骤S230,按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合。本实施例中,该步骤S230可以由上述分页排序模块230执行。
例如,作为一种实施方式,请参阅图4,所述步骤S230可以通过如下子步骤实现:
子步骤S231,按照排序因子对ZSET结构数据进行排序。
本实施例中,所述ZSET结构数据可包括排序因子和对应的标识,此处可以按排序因子,例如直播时长对所述ZSET结构数据进行排序(例如升序或者降序),以得到排序后的ZSET结构数据。
子步骤S231,基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
本实施例中,在一种实施方式中,可以基于设定的开始游标和结束游标,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识。其中,所述设定的开始游标和结束游标即为设定的页面大小。
其中,此处需要注意的是,为了保证效率,控制开始和结束的游标范围不易过大,作为一种实施方式,还可以判断设定的开始游标和结束游标之间的偏移量是否大于预设偏移量,若大于,则重新设定开始游标和结束游标,直到所述开始游标和结束游标之前的偏移量不大于所述预设偏移量。由此,通过控制开始和结束的游标范围处于预定范围,可以防止当控制开始和结束的游标范围过大时导致的分页排序效率降低的问题,进一步地保证分页排序效率。
步骤S240,基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息。本实施例中,该步骤S240可以由上述访问模块240执行。
本实施例中,在得到目标数据的标识集合后,在这个标识集合的基础上,通过访问HASH结构数据,使用命令HGET,可以得到所述每条目标数据的标识对应的数据信息,其中,每条目标数据的数据标识对应的数据信息为JSON格式的数据信息。
步骤S250,将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。本实施例中,该步骤S250可以由上述信息处理模块250执行。
本实施例中,在得到完整的JSON格式的数据信息后,在代码中进行反序列化即可分页排序后的数据。
上述整个操作时间复杂度如下:
ZRANGE(ZREVRANGE):O(log(N)+M),N为有序集的基数,而M为结果集的基数。可以看出:排序分页查询的时间开销很低,结果集的个数M可能影响效率,故本算法建议控制在10个以内;而查询HASH结构的数据开销为1,也是Redis中最小的耗时单位。
基于上述设计,本实施例提供的数据分页排序方法,只需开发者使用常见的简单的策略将关系型数据库中的数据同步至Redis,能够实现高效快速的分页,性能卓越,分页排序查询效率高,有效解决了传统关系型数据库中海量数据分页的效率问题。同时扩展方便,不同类型的数据只需要增加Redis的KEY即可,提供了高性能查询效率的同时,提供了简洁易用的客户端API,同时根据需要进行天级别的KEY的增长和过期,方便业务需要进行扩展。
进一步地,本发明实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的数据分页排序方法。
综上所述,本发明实施例提供一种数据分页排序方法、装置及可读存储介质,只需开发者使用常见的简单的策略,例如查询同步策略,即可将关系型数据库中的数据同步至非关系型数据库Redis数据库中,而后通过将同步的数据进行分页排序查询算法处理,得到分页排序后的目标数据的标识集合,并基于处理后的每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息,再对每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据,通过利用非关系型数据库Redis进行海量数据排序分页,即便当数据量级庞大时也能够实现高效快速的分页,性能卓越,分页排序查询效率高,有效解决了传统关系型数据库中海量数据分页的效率问题。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种数据分页排序方法,其特征在于,应用于电子设备,所述方法包括:
响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中;
将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据,所述策略数据结构包括String结构、ZSET结构和HASH结构;
按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识,其中,所述ZSET结构数据包括排序因子和对应的标识;
基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息;
将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。
2.根据权利要求1所述的数据分页排序方法,其特征在于,所述按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合的步骤,包括:
按照排序因子对ZSET结构数据进行排序;
基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
3.根据权利要求2所述的数据分页排序方法,其特征在于,所述基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合的步骤,包括:
基于设定的开始游标和结束游标,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
4.根据权利要求3所述的数据分页排序方法,其特征在于,所述对排序后的ZSET结构数据进行分页,以得到分页排序后的目标数据的标识集合的步骤之前,所述方法还包括:
判断设定的开始游标和结束游标之间的偏移量是否大于预设偏移量;
若大于,则重新设定开始游标和结束游标,直到所述开始游标和结束游标之前的偏移量不大于所述预设偏移量。
5.根据权利要求1所述的数据分页排序方法,其特征在于,所述每条目标数据的数据标识对应的数据信息为JSON格式的数据信息。
6.一种数据分页排序装置,其特征在于,应用于电子设备,所述装置包括:
同步模块,用于响应数据同步请求,将当前关系型数据库中的数据同步至Redis数据库中;
存储模块,用于将所述Redis数据库中同步的数据分别按照对应的策略数据结构进行存储,得到各个策略数据结构数据,所述策略数据结构包括String结构、ZSET结构和HASH结构;
分页排序模块,用于按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合,所述标识集合中包括每条目标数据的标识,其中,所述ZSET结构数据包括排序因子和对应的标识;
访问模块,用于基于每条目标数据的标识访问HASH结构数据,得到每条目标数据的数据标识对应的数据信息;
信息处理模块,用于将每条目标数据的数据标识对应的数据信息进行反序列化处理,得到分页排序后的数据。
7.根据权利要求6所述的数据分页排序装置,其特征在于,所述按照排序因子对ZSET结构数据进行分页排序,得到分页排序后的目标数据的标识集合的方式,包括:
按照排序因子对ZSET结构数据进行排序;
基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
8.根据权利要求7所述的数据分页排序装置,其特征在于,所述基于预设页面大小,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合的方式,包括:
基于设定的开始游标和结束游标,对排序后的ZSET结构数据进行分页,得到分页排序后的目标数据的标识集合。
9.根据权利要求8所述的数据分页排序装置,其特征在于,所述分页排序模块,还用于判断设定的开始游标和结束游标之间的偏移量是否大于预设偏移量;
若大于,则重新设定开始游标和结束游标,直到所述开始游标和结束游标之前的偏移量不大于所述预设偏移量。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-5中任意一项所述的数据分页排序方法。
CN201810209797.4A 2018-03-14 2018-03-14 数据分页排序方法、装置及可读存储介质 Pending CN108509529A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810209797.4A CN108509529A (zh) 2018-03-14 2018-03-14 数据分页排序方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810209797.4A CN108509529A (zh) 2018-03-14 2018-03-14 数据分页排序方法、装置及可读存储介质

Publications (1)

Publication Number Publication Date
CN108509529A true CN108509529A (zh) 2018-09-07

Family

ID=63377143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810209797.4A Pending CN108509529A (zh) 2018-03-14 2018-03-14 数据分页排序方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN108509529A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471879A (zh) * 2018-10-25 2019-03-15 珠海天燕科技有限公司 一种数据排行的辅助方法及装置
CN110618972A (zh) * 2019-08-26 2019-12-27 达疆网络科技(上海)有限公司 一种利用自增Id增进深分页方法
CN112882839A (zh) * 2019-11-29 2021-06-01 中国移动通信集团设计院有限公司 基于kafka的消息处理方法及装置
WO2022105682A1 (zh) * 2020-11-18 2022-05-27 北京字节跳动网络技术有限公司 分页数据获取方法、装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098056A (zh) * 2012-10-26 2013-05-08 华为技术有限公司 一种排序的方法、装置与终端
CN106055612A (zh) * 2016-05-25 2016-10-26 青岛海信传媒网络技术有限公司 一种数据分页显示方法及终端设备
US20170024364A1 (en) * 2012-10-31 2017-01-26 Excalibur Ip, Llc User displays using n-way paginated merge of information from diverse sources
CN107679077A (zh) * 2017-08-28 2018-02-09 平安科技(深圳)有限公司 分页的实现方法、装置、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098056A (zh) * 2012-10-26 2013-05-08 华为技术有限公司 一种排序的方法、装置与终端
US20170024364A1 (en) * 2012-10-31 2017-01-26 Excalibur Ip, Llc User displays using n-way paginated merge of information from diverse sources
CN106055612A (zh) * 2016-05-25 2016-10-26 青岛海信传媒网络技术有限公司 一种数据分页显示方法及终端设备
CN107679077A (zh) * 2017-08-28 2018-02-09 平安科技(深圳)有限公司 分页的实现方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GDLSKY: "Redis分页/排序", 《HTTPS://BLOG.CSDN.NET/QQ_36318234/ARTICLE/DETAILS/79030512?DEPTH_1-UTM_SOURCE=DISTRIBUTE.PC_RELEVANT.NONE-TASK&UTM_SOURCE=DISTRIBUTE.PC_RELEVANT.NONE-TASK》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471879A (zh) * 2018-10-25 2019-03-15 珠海天燕科技有限公司 一种数据排行的辅助方法及装置
CN110618972A (zh) * 2019-08-26 2019-12-27 达疆网络科技(上海)有限公司 一种利用自增Id增进深分页方法
CN112882839A (zh) * 2019-11-29 2021-06-01 中国移动通信集团设计院有限公司 基于kafka的消息处理方法及装置
WO2022105682A1 (zh) * 2020-11-18 2022-05-27 北京字节跳动网络技术有限公司 分页数据获取方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN106980669B (zh) 一种数据的存储、获取方法及装置
CN108509529A (zh) 数据分页排序方法、装置及可读存储介质
US9047330B2 (en) Index compression in databases
CN111767143A (zh) 交易数据处理方法、装置、设备及系统
CN104092555B (zh) 一种更新参数值的方法、装置和系统
US8577848B2 (en) Converting two-tier resource mapping to one-tier resource mapping
CN111355816B (zh) 服务器选取方法、装置、设备及分布式服务系统
CN105930390A (zh) 关系型数据库扩展方法及关系型数据库扩展系统
CN108319504A (zh) 内存占用优化方法、装置及可读存储介质
US20190179565A1 (en) Global occupancy aggregator for global garbage collection scheduling
US9734171B2 (en) Intelligent redistribution of data in a database
WO2016103055A1 (en) Method of generating hierarchical data structure
CN106844233A (zh) 一种基于哈希表的路由器运行数据缓存方法及系统
CN110399564B (zh) 帐号分类方法和装置、存储介质及电子装置
CN108154024A (zh) 一种数据检索方法、装置及电子设备
CN110502299A (zh) 一种用于提供小说信息的方法与设备
CN113434501A (zh) 关系型数据库表的存储方法、设备及可读存储介质
US20120005202A1 (en) Method for Acceleration of Legacy to Service Oriented (L2SOA) Architecture Renovations
US8914356B2 (en) Optimized queries for file path indexing in a content repository
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN116594834A (zh) 一种用于多协议服务器的运维数据处理方法及装置
CN109543169A (zh) 报表处理方法及装置
CN110471730A (zh) 基于Echarts的展示方法、系统、大屏系统和介质
US7536398B2 (en) On-line organization of data sets
CN112162731B (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: 20180907