CN110162542B - 基于cassandra的数据翻页方法、装置、计算机设备和存储介质 - Google Patents

基于cassandra的数据翻页方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110162542B
CN110162542B CN201910318705.0A CN201910318705A CN110162542B CN 110162542 B CN110162542 B CN 110162542B CN 201910318705 A CN201910318705 A CN 201910318705A CN 110162542 B CN110162542 B CN 110162542B
Authority
CN
China
Prior art keywords
data
page
time
time period
sub
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.)
Active
Application number
CN201910318705.0A
Other languages
English (en)
Other versions
CN110162542A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910318705.0A priority Critical patent/CN110162542B/zh
Publication of CN110162542A publication Critical patent/CN110162542A/zh
Application granted granted Critical
Publication of CN110162542B publication Critical patent/CN110162542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/248Presentation of query results
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请揭示了一种基于cassandra的数据翻页方法、装置、计算机设备和存储介质,其中方法包括:获取用户输入的具有时间长度的时间段信息;将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;将查找到的数据以指定条数为一页的方式,逐页的进行展示。将时间段信息分成多个子时间段,然后轮询查找各子时间段对应的数据,无需系统一次性大量地将对应的时间段信息对应的数据全部调用出来,降低系统的计算量,有效提升系统易用性,增强系统的可靠性、稳定性,不至于被恶意查询破坏,将数据按照指定条数逐页的进行展示,方便用户查看数据。

Description

基于cassandra的数据翻页方法、装置、计算机设备和存储 介质
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于cassandra的数据翻页方法、装置、计算机设备和存储介质。
背景技术
传统关系型数据库查询某段时间范围内的数据并实现翻页功能是一个非常消耗数据库资源的操作,比如查询10分钟的数据量可能达到数十万,每次查询都需要查出数十万的数据,进行排序,然后实际可能只需要取出十几条的数据,这种操作对DB(数据库软件系统)的消费非常巨大,不能支持高并发的操作。
发明内容
本申请的主要目的为提供一种基于cassandra的数据翻页方法、装置、计算机设备和存储介质,旨在解决传统关系型数据库查询某段时间范围内的数据并实现翻页功能时消耗较大的数据库资源的问题。
为了实现上述发明目的,本申请提出一种基于cassandra的数据翻页方法,包括:
获取用户输入的具有时间长度的时间段信息;
将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;
在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;
将查找到的数据以指定条数为一页的方式,逐页的进行展示。
进一步地,所述获取用户输入的具有时间长度的时间段信息的步骤之前,包括:
接收待存储的所述数据;
获取当前的时间信息加上所述数据的指定信息形成的查询条件信息;
以所述查询条件信息为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述数据存储到cassandra数据库中。
进一步地,所述在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据的步骤,包括:
获取所述用户输入的指定信息;
将所述指定信息与当前的子时间段结合形成对应的第一查询条件信息;
计算所述第一查询条件信息为参数的第二哈希值,并根据所述第二哈希值查找到与所述第一查询条件信息对应的存储节点;
在所述存储节点中查找对应所述第一查询条件信息的数据;
以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
进一步地,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤包括:
判断当前子时间段对应的数据的条数是否大于预设的指定条数;
若是,则按照时间顺序将指定条数的数据加载在当前显示的页面上,然后将剩余数据依次加载在后续的页面上;
若否,则将当前子时间段对应的数据加载在当前显示的页面上,然后将依据下一个子时间段查找的数据按照时间顺序补位到当前显示的页面上。
进一步地,所述将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段的步骤,包括:
在预设的时间段-时间单位的列表中,查找与所述时间段信息对应的第一时间单位;
将所述时间段信息依所述第一时间单位,按照时序依次分隔成多个子时间段。
进一步地,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤,包括:
加载满当前显示的页面之后,保持所述当前显示的页面指定时间;
在所述指定时间内,判断所述当前显示的页面是否接收到用户的操作指令;
若是,则执行所述操作指令,否则翻过所述当前显示的页面,展示下一个页面。
进一步地,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤之前,包括:
将查找到的数据按照时序存储到指定的缓存中;
获取翻页请求,提取缓存中的时序靠前的所述指定条数的数据加载到所述下一个页面中。
本申请还提供一种基于cassandra的数据翻页装置,包括:
获取单元,用于获取用户输入的具有时间长度的时间段信息;
分隔单元,用于将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;
轮询查找单元,用于在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;
展示单元,用于将查找到的数据以指定条数为一页的方式,逐页的进行展示。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于cassandra的数据翻页方法、装置、计算机设备和存储介质,将时间段信息分成多个子时间段,然后轮询查找各子时间段对应的数据,无需系统一次性大量地将对应的时间段信息对应的数据全部调用出来,降低系统的计算量,有效提升系统易用性,增强系统的可靠性、稳定性,不至于被恶意查询破坏,将数据按照指定条数逐页的进行展示,方便用户查看数据。
附图说明
图1为本申请一实施例的基于cassandra的数据翻页方法的流程示意图;
图2为本申请一实施例的基于cassandra的数据翻页装置的结构示意框图;
图3为申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于cassandra的数据翻页方法,包括:
S1、获取用户输入的具有时间长度的时间段信息;
S2、将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;
S3、在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;
S4、将查找到的数据以指定条数为一页的方式,逐页的进行展示。
如上述步骤S1所述,上述的时间段信息即为用户输入的查询数据的查询条件。时间段信息具体的表现形式为一个时间跨度,比如2018年12月1日20点30分至2018年12月1日21点30分等。
如上述步骤S2所述,上述时间单位即为天、小时、分钟、秒等组成的时间单位,比如设定5分钟为一个时间单位等。将时间段信息按照预设的时间单位分隔成多个子时间段,这些时间段是以时序分隔的,比如时间段信息为2018年12月1日20点30分至2018年12月1日21点,预设的时间单位为1分钟,那就会将时间段信息分成30个子时间段,依次为2018年12月1日20点30分、31分······2018年12月1日20点59分。
如上述步骤S3所述,上述轮询查找各所述子时间段对应的数据,即为查找一个子时间段对应的数据后,再查找下一个子时间段对应的数据,直到查找完成全部的子时间段对应的数据。上述子时间段的顺序可以为顺着时间的顺序,也可以是逆着时间的顺序。在一个具体实施例中,时间段信息为2018年12月1日20点30分至2018年12月1日21点,预设的时间单位为1分钟,那就会将时间段信息分成31个子时间段,依次为2018年12月1日20点30分、31分······2018年12月1日21点,查找数据的时候先查找2018年12月1日20点30分对应的数据,查找玩完2018年12月1日20点30分对应的数据后,在查找2018年12月1日20点31分对应的数据,依次类推,最后完成查找2018年12月1日20点59分对应的数据。
如上述步骤S4所述,在查找数据的时候,依次将查找的数据输入预设的展示页上,展示页上可展示的数据的条数是指定的,比如每15条数据为一页,每展示完一页后,自动翻页,展示下一页等。
在一个实施例中,上述获取用户输入的具有时间长度的时间段信息的步骤S1之前,包括:
S101、接收待存储的所述数据;
S102、获取当前的时间信息加上所述数据的指定信息形成的查询条件信息;
S103、以所述查询条件信息为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述数据存储到cassandra数据库中。
如上述步骤S101所述,上述数据是与所述cassandra数据库关联的服务器产生的日志数据等数据。
如上述步骤S102所述,上述当前的时间信息即为形成查询条件信息时的时间。上述数据的指定信息一般为与业务相关的信息,比如URL(统一资源定位符Uniform ResourceLocator)等。
如上述步骤S103所述,将数据存储到哪一个节点是根据以该数据对应的查询条件信息为参数计算出的哈希值进行确定的,比如,预设每一个节点对应的哈希值的区间范围不同,那么根据查询条件信息为参数计算出的哈希值在哪一个区间范围,即会将查询条件信息对应的数据存储到对应的节点。本申请中,有多少个待存储的数据,会得到同样数量的查询条件信息,这些查询条件信息中的指定信息可能相同,比如不同条的数据的URL相同,但是会因为时间信息的不同,而得到不同的查询条件信息,因此,利用查询条件信息为参数计算出的哈希值也大致会均匀分布,从而将日志数据基本均匀地分布存储到cassandra数据库的各节点中。
在一个实施例中,上述在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据的步骤S3,包括:
S31、获取所述用户输入的指定信息;
S32、将所述指定信息与当前的子时间段结合形成对应的第一查询条件信息;
S33、计算所述第一查询条件信息为参数的第二哈希值,并根据所述第二哈希值查找到与所述第一查询条件信息对应的存储节点;
S34、在所述存储节点中查找对应所述第一查询条件信息的数据;
S35、以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
在本实施例中,上述指定信息是指用户作为一个查询条件的条件信息,比如,上述步骤S102中,指定信息为URL,那么步骤S31中输入的也是URL,那么既可以查找到用户输入的URL对应的、在各子时间段中的数据,而且因为是直接到对应的存储节点中查找数据,无需每一个节点轮询查找,查找效率更高。本申请实施例中,会循环执行步骤S33和S34,即以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
在一个实施例中,上述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤S4,包括:
S41、判断当前子时间段对应的数据的条数是否大于预设的指定条数;
S42、若是,则按照时间顺序将指定条数的数据加载在当前显示的页面上,然后将剩余数据依次加载在后续的页面上;
S43、若否,则将当前子时间段对应的数据加载在当前显示的页面上,然后将依据下一个子时间段查找的数据按照时间顺序补位到当前显示的页面上。
在本实施例中,即为将查找到的数据加载在页面上的步骤,将查找到的数据按照时间顺序依次加载在当前的页面上,如果当前页面加载满了,则会进行翻页,形成下一个当前显示的页面,那么没有展示的数据继续加载在上述的下一个当前显示的页面中。本申请实施例中的特点在,如果一个子时间的数据条数大于指定条数,则会依照时间顺序依次翻页加载;如果一个子时间的数据条数小于指定条数,也不会显示没有加载满的页面,而是会将下一个子时间段对应的数据加载在当前显示的页面上,以进行补位。需要说明的时,最后一个子时间段对应的数据加载在最后一个当前显示的页面上后,如果数据没有填满最后一个当前显示的页面,无需使用其他方法将最后一个当前显示的页面填满。
在一个实施例中,上述将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段的步骤S2,包括:
S21、在预设的时间段-时间单位的列表中,查找与所述时间段信息对应的第一时间单位;
S22、将所述时间段信息依所述第一时间单位,按照时序依次分隔成多个子时间段。
在本实施例中,上述时间段-时间单位的列表中记载有一对一或多对一的映射关系的时间段和时间单位,即一个时间段只能对应一个时间单位,或者多个时间段对应一个时间单位。不同的时间段,产生日志数据的数量会不同,所以不同的时间段对应不同的时间单位,防止使用错误的时间单位而造成查询数据量大的问题,比如某个时间段内每分钟都会产生大量的日志数据,在此后查询该时间段内的日志数据时,如果以10分钟为时间单位,在查找数据的时候可能会发生一次性大量地将对应的子时间段对应的日志数据全部调用出来,提高了系统的计算量,而如果将时间单位设置为分钟,则会降低一次性查找大量数据的过程,降低系统的计算量,提高系统的稳定性。上述时间段-时间单位的列表即为工作人员根据实际的数据产生量,进行编写的,如果时间段信息为上午9点-12点中的时间段,其对应的时间单位为1分钟,如果时间段信息为凌晨1点-3点中的时间段,其对应的时间单位为30分钟等。
在一个实施例中,上述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤S4,包括:
S44、加载满当前显示的页面之后,保持所述当前显示的页面指定时间;
S45、在所述指定时间内,判断所述当前显示的页面是否接收到用户的操作指令;
S46、若是,则执行所述操作指令,否则翻过所述当前显示的页面,展示下一个页面。
在本实施例中,展示数据是为了用户参照需要数据,比如错误数据等,以供用户进行处理,所以加载满当前显示的页面之后,需要停顿指定时间以便于用户充分观察当前显示的页面中的数据。用户发现需要的数据,则会发出对应的操作指令,如果没有发现需要的数据,过了上述指定时间后,则会自动翻页。在其它实施例中,也可以接收用户输入的翻页指令完成翻页动作。
在一个实施例中,上述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤S4之前,包括:
S401、将查找到的数据按照时序存储到指定的缓存中;
S402、获取翻页请求,提取缓存中的时序靠前的所述指定条数的数据加载到所述下一个页面中。
在本实施例中,因为展示的数据需要用户查看,而查找到数据量较大时,不能及时的展示,所以将其存储到指定的缓存中,当获取翻页请求时,就会从缓存调取数据,不会因为展示的速度而影响数据查找的速度。
本申请实施例的基于cassandra的数据翻页方法,将时间段信息分成多个子时间段,然后轮询查找各子时间段对应的数据,无需系统一次性大量地将对应的时间段信息对应的数据全部调用出来,降低系统的计算量,有效提升系统易用性,增强系统的可靠性、稳定性,不至于被恶意查询破坏,将数据按照指定条数逐页的进行展示,方便用户查看数据。
参照图2,本申请实施例提供一种基于cassandra的数据翻页装置,包括:
获取单元10,用于获取用户输入的具有时间长度的时间段信息;
分隔单元20,用于将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;
轮询查找单元30,用于在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;
展示单元40,用于将查找到的数据以指定条数为一页的方式,逐页的进行展示。
如上述获取单元10,上述的时间段信息即为用户输入的查询数据的查询条件。时间段信息具体的表现形式为一个时间跨度,比如2018年12月1日20点30分至2018年12月1日21点30分等。
如上述分隔单元20,上述时间单位即为天、小时、分钟、秒等组成的时间单位,比如设定5分钟为一个时间单位等。将时间段信息按照预设的时间单位分隔成多个子时间段,这些时间段是以时序分隔的,比如时间段信息为2018年12月1日20点30分至2018年12月1日21点,预设的时间单位为1分钟,那就会将时间段信息分成30个子时间段,依次为2018年12月1日20点30分、31分······2018年12月1日20点59分。
如上述轮询查找单元30,上述轮询查找各所述子时间段对应的数据,即为查找一个子时间段对应的数据后,再查找下一个子时间段对应的数据,直到查找完成全部的子时间段对应的数据。上述子时间段的顺序可以为顺着时间的顺序,也可以是逆着时间的顺序。在一个具体实施例中,时间段信息为2018年12月1日20点30分至2018年12月1日21点,预设的时间单位为1分钟,那就会将时间段信息分成31个子时间段,依次为2018年12月1日20点30分、31分······2018年12月1日21点,查找数据的时候先查找2018年12月1日20点30分对应的数据,查找玩完2018年12月1日20点30分对应的数据后,在查找2018年12月1日20点31分对应的数据,依次类推,最后完成查找2018年12月1日20点59分对应的数据。
如上述展示单元40,在查找数据的时候,依次将查找的数据输入预设的展示页上,展示页上可展示的数据的条数是指定的,比如每15条数据为一页,每展示完一页后,自动翻页,展示下一页等。
在一个实施例中,上述基于cassandra的数据翻页装置,还包括:
接收单元,用于接收待存储的所述数据;
形成单元,用于获取当前的时间信息加上所述数据的指定信息形成的查询条件信息;
计算存储单元,用于以所述查询条件信息为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述数据存储到cassandra数据库中。
如上述接收单元,上述数据是与所述cassandra数据库关联的服务器产生的日志数据等数据。
如上述形成单元,上述当前的时间信息即为形成查询条件信息时的时间。上述数据的指定信息一般为与业务相关的信息,比如URL(统一资源定位符Uniform ResourceLocator)等。
如上述计算存储单元,将数据存储到哪一个节点是根据以该数据对应的查询条件信息为参数计算出的哈希值进行确定的,比如,预设每一个节点对应的哈希值的区间范围不同,那么根据查询条件信息为参数计算出的哈希值在哪一个区间范围,即会将查询条件信息对应的数据存储到对应的节点。本申请中,有多少个待存储的数据,会得到同样数量的查询条件信息,这些查询条件信息中的指定信息可能相同,比如不同条的数据的URL相同,但是会因为时间信息的不同,而得到不同的查询条件信息,因此,利用查询条件信息为参数计算出的哈希值也大致会均匀分布,从而将日志数据基本均匀地分布存储到cassandra数据库的各节点中。
在一个实施例中,上述轮询查找单元30,包括:
获取模块,用于获取所述用户输入的指定信息;
形成模块,用于将所述指定信息与当前的子时间段结合形成对应的第一查询条件信息;
计算查找模块,用于计算所述第一查询条件信息为参数的第二哈希值,并根据所述第二哈希值查找到与所述第一查询条件信息对应的存储节点;
数据查找模块,用于在所述存储节点中查找对应所述第一查询条件信息的数据;
轮询模块,用于以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
在本实施例中,上述指定信息是指用户作为一个查询条件的条件信息,比如,运行上述计算存储单元时,指定信息为URL,那么获取模块获取到的指定信息也为用户输入的URL,那么既可以查找到用户输入的URL对应的、在各子时间段中的数据,而且因为是直接到对应的存储节点中查找数据,无需每一个节点轮询查找,查找效率更高。本申请实施例中,会循环运行计算查找模块和数据查找模块,即以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
在一个实施例中,上述展示单元40,包括:
判断模块,用于判断当前子时间段对应的数据的条数是否大于预设的指定条数;
第一执行模块,用于若当前子时间段对应的数据的条数大于预设的指定条数,则按照时间顺序将指定条数的数据加载在当前显示的页面上,然后将剩余数据依次加载在后续的页面上;
第二执行模块,用于若当前子时间段对应的数据的条数小于预设的指定条数,则将当前子时间段对应的数据加载在当前显示的页面上,然后将依据下一个子时间段查找的数据按照时间顺序补位到当前显示的页面上。
在本实施例中,即为将查找到的数据加载在页面上的步骤,将查找到的数据按照时间顺序依次加载在当前的页面上,如果当前页面加载满了,则会进行翻页,形成下一个当前显示的页面,那么没有展示的数据继续加载在上述的下一个当前显示的页面中。本申请实施例中的特点在,如果一个子时间的数据条数大于指定条数,则会依照时间顺序依次翻页加载;如果一个子时间的数据条数小于指定条数,也不会显示没有加载满的页面,而是会将下一个子时间段对应的数据加载在当前显示的页面上,以进行补位。需要说明的时,最后一个子时间段对应的数据加载在最后一个当前显示的页面上后,如果数据没有填满最后一个当前显示的页面,无需使用其他方法将最后一个当前显示的页面填满。
在一个实施例中,上述分隔单元20,包括:
参照模块,用于在预设的时间段-时间单位的列表中,查找与所述时间段信息对应的第一时间单位;
分隔模块,用于将所述时间段信息依所述第一时间单位,按照时序依次分隔成多个子时间段。
在本实施例中,上述时间段-时间单位的列表中记载有一对一或多对一的映射关系的时间段和时间单位,即一个时间段只能对应一个时间单位,或者多个时间段对应一个时间单位。不同的时间段,产生日志数据的数量会不同,所以不同的时间段对应不同的时间单位,防止使用错误的时间单位而造成查询数据量大的问题,比如某个时间段内每分钟都会产生大量的日志数据,在此后查询该时间段内的日志数据时,如果以10分钟为时间单位,在查找数据的时候可能会发生一次性大量地将对应的子时间段对应的日志数据全部调用出来,提高了系统的计算量,而如果将时间单位设置为分钟,则会降低一次性查找大量数据的过程,降低系统的计算量,提高系统的稳定性。上述时间段-时间单位的列表即为工作人员根据实际的数据产生量,进行编写的,如果时间段信息为上午9点-12点中的时间段,其对应的时间单位为1分钟,如果时间段信息为凌晨1点-3点中的时间段,其对应的时间单位为30分钟等。
在一个实施例中,上述展示单元40,还包括:
保持模块,用于加载满当前显示的页面之后,保持所述当前显示的页面指定时间;
接收判断模块,用于在所述指定时间内,判断所述当前显示的页面是否接收到用户的操作指令;
判定执行模块,用于若接收到用户的操作指令,则执行所述操作指令,否则翻过所述当前显示的页面,展示下一个页面。
在本实施例中,展示数据是为了用户参照需要数据,比如错误数据等,以供用户进行处理,所以加载满当前显示的页面之后,需要停顿指定时间以便于用户充分观察当前显示的页面中的数据。用户发现需要的数据,则会发出对应的操作指令,如果没有发现需要的数据,过了上述指定时间后,则会自动翻页。在其它实施例中,也可以接收用户输入的翻页指令完成翻页动作。
在一个实施例中,上述基于cassandra的数据翻页装置,还包括:
缓存单元,用于将查找到的数据按照时序存储到指定的缓存中;
提取单元,用于获取翻页请求,提取缓存中的时序靠前的所述指定条数的数据加载到所述下一个页面中。
在本实施例中,因为展示的数据需要用户查看,而查找到数据量较大时,不能及时的展示,所以将其存储到指定的缓存中,当获取翻页请求时,就会从缓存调取数据,不会因为展示的速度而影响数据查找的速度。
本申请实施例的基于cassandra的数据翻页装置,将时间段信息分成多个子时间段,然后轮询查找各子时间段对应的数据,无需系统一次性大量地将对应的时间段信息对应的数据全部调用出来,降低系统的计算量,有效提升系统易用性,增强系统的可靠性、稳定性,不至于被恶意查询破坏,将数据按照指定条数逐页的进行展示,方便用户查看数据。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储日志数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于cassandra的数据翻页方法。
上述处理器执行上述基于cassandra的数据翻页方法,包括步骤:获取用户输入的具有时间长度的时间段信息;将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;将查找到的数据以指定条数为一页的方式,逐页的进行展示。
在一个实施例中,所述获取用户输入的具有时间长度的时间段信息的步骤之前,包括:接收待存储的所述数据;获取当前的时间信息加上所述数据的指定信息形成的查询条件信息;以所述查询条件信息为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述数据存储到cassandra数据库中。
在一个实施例中,所述在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据的步骤,包括:获取所述用户输入的指定信息;将所述指定信息与当前的子时间段结合形成对应的第一查询条件信息;计算所述第一查询条件信息为参数的第二哈希值,并根据所述第二哈希值查找到与所述第一查询条件信息对应的存储节点;在所述存储节点中查找对应所述第一查询条件信息的数据;以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
在一个实施例中,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤包括:判断当前子时间段对应的数据的条数是否大于预设的指定条数;若是,则按照时间顺序将指定条数的数据加载在当前显示的页面上,然后将剩余数据依次加载在后续的页面上;若否,则将当前子时间段对应的数据加载在当前显示的页面上,然后将依据下一个子时间段查找的数据按照时间顺序补位到当前显示的页面上。
在一个实施例中,所述将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段的步骤,包括:在预设的时间段-时间单位的列表中,查找与所述时间段信息对应的第一时间单位;将所述时间段信息依所述第一时间单位,按照时序依次分隔成多个子时间段。
在一个实施例中,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤,包括:加载满当前显示的页面之后,保持所述当前显示的页面指定时间;在所述指定时间内,判断所述当前显示的页面是否接收到用户的操作指令;若是,则执行所述操作指令,否则翻过所述当前显示的页面,展示下一个页面。
在一个实施例中,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤之前,包括:将查找到的数据按照时序存储到指定的缓存中;获取翻页请求,提取缓存中的时序靠前的所述指定条数的数据加载到所述下一个页面中。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例的计算机设备,将时间段信息分成多个子时间段,然后轮询查找各子时间段对应的数据,无需系统一次性大量地将对应的时间段信息对应的数据全部调用出来,降低系统的计算量,有效提升系统易用性,增强系统的可靠性、稳定性,不至于被恶意查询破坏,将数据按照指定条数逐页的进行展示,方便用户查看数据。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于cassandra的数据翻页方法,包括步骤:获取用户输入的具有时间长度的时间段信息;将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;将查找到的数据以指定条数为一页的方式,逐页的进行展示。
上述基于cassandra的数据翻页方法,将时间段信息分成多个子时间段,然后轮询查找各子时间段对应的数据,无需系统一次性大量地将对应的时间段信息对应的数据全部调用出来,降低系统的计算量,有效提升系统易用性,增强系统的可靠性、稳定性,不至于被恶意查询破坏,将数据按照指定条数逐页的进行展示,方便用户查看数据。
在一个实施例中,所述获取用户输入的具有时间长度的时间段信息的步骤之前,包括:接收待存储的所述数据;获取当前的时间信息加上所述数据的指定信息形成的查询条件信息;以所述查询条件信息为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述数据存储到cassandra数据库中。
在一个实施例中,所述在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据的步骤,包括:获取所述用户输入的指定信息;将所述指定信息与当前的子时间段结合形成对应的第一查询条件信息;计算所述第一查询条件信息为参数的第二哈希值,并根据所述第二哈希值查找到与所述第一查询条件信息对应的存储节点;在所述存储节点中查找对应所述第一查询条件信息的数据;以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据。
在一个实施例中,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤包括:判断当前子时间段对应的数据的条数是否大于预设的指定条数;若是,则按照时间顺序将指定条数的数据加载在当前显示的页面上,然后将剩余数据依次加载在后续的页面上;若否,则将当前子时间段对应的数据加载在当前显示的页面上,然后将依据下一个子时间段查找的数据按照时间顺序补位到当前显示的页面上。
在一个实施例中,所述将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段的步骤,包括:在预设的时间段-时间单位的列表中,查找与所述时间段信息对应的第一时间单位;将所述时间段信息依所述第一时间单位,按照时序依次分隔成多个子时间段。
在一个实施例中,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤,包括:加载满当前显示的页面之后,保持所述当前显示的页面指定时间;在所述指定时间内,判断所述当前显示的页面是否接收到用户的操作指令;若是,则执行所述操作指令,否则翻过所述当前显示的页面,展示下一个页面。
在一个实施例中,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤之前,包括:将查找到的数据按照时序存储到指定的缓存中;获取翻页请求,提取缓存中的时序靠前的所述指定条数的数据加载到所述下一个页面中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (7)

1.一种基于cassandra的数据翻页方法,其特征在于,包括:
获取用户输入的具有时间长度的时间段信息;
将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;
在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;
将查找到的数据以指定条数为一页的方式,逐页的进行展示;
所述在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据的步骤,包括:
获取所述用户输入的指定信息;
将所述指定信息与当前的子时间段结合形成对应的第一查询条件信息;
计算所述第一查询条件信息为参数的第二哈希值,并根据所述第二哈希值查找到与所述第一查询条件信息对应的存储节点;
在所述存储节点中查找对应所述第一查询条件信息的数据;
以轮询的方式查找完成所述时间段信息中每一个所述子时间段、以及所述指定信息对应的数据;
所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤,包括:
判断当前子时间段对应的数据的条数是否大于预设的指定条数;
若是,则按照时间顺序将指定条数的数据加载在当前显示的页面上,然后将剩余数据依次加载在后续的页面上;
若否,则将当前子时间段对应的数据加载在当前显示的页面上,然后将依据下一个子时间段查找的数据按照时间顺序补位到当前显示的页面上;
所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤,包括:
加载满当前显示的页面之后,保持所述当前显示的页面指定时间;
在所述指定时间内,判断所述当前显示的页面是否接收到用户的操作指令;
若是,则执行所述操作指令,否则翻过所述当前显示的页面,展示下一个页面。
2.根据权利要求1所述的基于cassandra的数据翻页方法,其特征在于,所述获取用户输入的具有时间长度的时间段信息的步骤之前,包括:
接收待存储的所述数据;
获取当前的时间信息加上所述数据的指定信息形成的查询条件信息;
以所述查询条件信息为参数进行哈希运算得到第一哈希值,并根据所述第一哈希值将所述数据存储到cassandra数据库中。
3.根据权利要求1所述的基于cassandra的数据翻页方法,其特征在于,所述将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段的步骤,包括:
在预设的时间段-时间单位的列表中,查找与所述时间段信息对应的第一时间单位;
将所述时间段信息依所述第一时间单位,按照时序依次分隔成多个子时间段。
4.根据权利要求1所述的基于cassandra的数据翻页方法,其特征在于,所述将查找到的数据以指定条数为一页的方式,逐页的进行展示的步骤之前,包括:
将查找到的数据按照时序存储到指定的缓存中;
获取翻页请求,提取缓存中的时序靠前的所述指定条数的数据加载到下一个页面中。
5.一种基于cassandra的数据翻页装置,用于实现权利要求1至4中任一项所述的方法,其特征在于,所述装置包括:
获取单元,用于获取用户输入的具有时间长度的时间段信息;
分隔单元,用于将所述时间段信息依据预设的时间单位,按照时序依次分隔成多个子时间段;
轮询查找单元,用于在所述cassandra数据库中,依据多个所述子时间段的顺序,轮询查找各所述子时间段对应的数据;
展示单元,用于将查找到的数据以指定条数为一页的方式,逐页的进行展示。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN201910318705.0A 2019-04-19 2019-04-19 基于cassandra的数据翻页方法、装置、计算机设备和存储介质 Active CN110162542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910318705.0A CN110162542B (zh) 2019-04-19 2019-04-19 基于cassandra的数据翻页方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910318705.0A CN110162542B (zh) 2019-04-19 2019-04-19 基于cassandra的数据翻页方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110162542A CN110162542A (zh) 2019-08-23
CN110162542B true CN110162542B (zh) 2023-06-16

Family

ID=67639692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910318705.0A Active CN110162542B (zh) 2019-04-19 2019-04-19 基于cassandra的数据翻页方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110162542B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114547144B (zh) * 2022-01-30 2023-03-24 清华大学 时序数据范围查询方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880685A (zh) * 2012-09-13 2013-01-16 北京航空航天大学 一种时间密集大数据量的b/s分区间分页查询方法
CN107016045A (zh) * 2017-02-17 2017-08-04 阿里巴巴集团控股有限公司 一种分页数据查询的方法及装置
CN108874926A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 海量数据查询方法、装置、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089282A1 (en) * 2016-09-23 2018-03-29 Microsoft Technology Licensing, Llc. User-driven paging

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880685A (zh) * 2012-09-13 2013-01-16 北京航空航天大学 一种时间密集大数据量的b/s分区间分页查询方法
CN107016045A (zh) * 2017-02-17 2017-08-04 阿里巴巴集团控股有限公司 一种分页数据查询的方法及装置
CN108874926A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 海量数据查询方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110162542A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN111143462B (zh) 数据导出的方法、装置、计算机设备和存储介质
CN109586948A (zh) 更新系统配置数据的方法、装置、计算机设备和存储介质
CN109542529B (zh) 基于函数名称的埋点方法、装置、计算机设备及存储介质
CN111708586B (zh) 应用启动配置项加载方法、装置、计算机设备和存储介质
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN111414379A (zh) 序列号生成方法、装置、设备及计算机可读存储介质
CN111190901A (zh) 业务数据存储方法、装置、计算机设备和存储介质
CN110162542B (zh) 基于cassandra的数据翻页方法、装置、计算机设备和存储介质
CN110457401B (zh) 数据存储方法、装置、计算机设备和存储介质
CN115145869A (zh) 日志数据展示方法、装置、存储介质及计算机设备
CN110764814A (zh) 数据源动态配置方法、装置、计算机设备和存储介质
CN113918437A (zh) 用户行为数据分析方法、装置、计算机设备和存储介质
CN116302455B (zh) 定时任务的处理方法及装置、存储介质、计算机设备
CN112527479A (zh) 任务执行方法、装置、计算机设备和存储介质
CN110188081B (zh) 基于cassandra数据库的日志数据存储方法、装置和计算机设备
CN112818021B (zh) 数据请求处理方法、装置、计算机设备和存储介质
CN112699149B (zh) 目标数据获取方法、装置和存储介质及电子装置
CN113868127A (zh) 在线调试方法、装置、计算机设备和存储介质
CN113626449A (zh) 数据存储、数据查询方法及相关设备
CN114238085A (zh) 接口测试方法、装置、计算机设备、存储介质
CN109284260B (zh) 大数据文件读取方法、装置、计算机设备及存储介质
CN112395057A (zh) 基于定时任务的数据处理方法、装置、计算机设备
CN112783866A (zh) 数据读取方法、装置、计算机设备和存储介质
CN111078232B (zh) 应用程序打包方法、装置、设备和介质
CN114925087A (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
GR01 Patent grant
GR01 Patent grant