CN113760950A - 指标数据查询方法、装置、电子设备以及存储介质 - Google Patents
指标数据查询方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN113760950A CN113760950A CN202110277653.4A CN202110277653A CN113760950A CN 113760950 A CN113760950 A CN 113760950A CN 202110277653 A CN202110277653 A CN 202110277653A CN 113760950 A CN113760950 A CN 113760950A
- Authority
- CN
- China
- Prior art keywords
- time
- partition
- queried
- time period
- index 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
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/242—Query formulation
-
- 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
- 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/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种指标数据查询方法、装置、电子设备以及存储介质。该方法包括:确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。通过本发明实施例公开的技术方案,实现了提高指标数据的查找效率的同时减小对系统操作的压力。
Description
技术领域
本发明实施例涉及软件测试技术领域,尤其涉及一种指标数据查询方法、装置、电子设备以及存储介质。
背景技术
大促期间,从业务系统MySQL数据库查询的当天接单量、配送任务量、妥投量等指标数据,相关表数据量巨大,当前查询指标数据有两种方式:
第一种方法是使用大数据技术(如Flink技术)将抽取MySQL数据库binlog日志,进行数据加工汇总;第二种方法是使用Java程序或其他,利用普通SQL语句直接查询MySQL数据中大促指标数据。
在实现本发明的过程中,发现现有技术中至少存在以下技术问题:上述第一种方法存在大数据(如Flink技术)技术将多张表数据合并成ES宽表技术,需要将多个表数据进行不同维度的组合和汇总,研发成本、技术难度、运维成本稍高等问题;而第二种方法存在普通SQL语句直接查询MySQL数据库可能会查询较慢,多条乃至上百条复杂逻辑SQL对数据库压力较大,可能出现慢SQL,查询体验和性能较差等问题。
发明内容
本发明提供一种指标数据查询方法、装置、电子设备以及存储介质,以实现提高指标数据的查找效率的同时减小对数据库的查询的压力。
第一方面,本发明实施例提供了一种指标数据查询方法,该方法包括:
确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;
从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;
在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
第二方面,本发明实施例还提供了一种指标数据查询装置,该装置包括:
时间分区确定模块,用于确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;
分区查询结果确定模块,用于从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;
目标查询结果确定模块,用于在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的指标数据查询方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的指标数据查询方法。
本发明实施例的技术方案,通过对待查询的时间段进行分区,得到待查询时间段的各时间分区,以便于采用多线程同时对各时间分区的指标数据进行查询,减小系统操作的压力。从数据库查询各时间分区分别对应的指标数据,基于查询到的指标数据获得各时间分区的分区查询结果,并将分区查询结果保存在缓存中并定时对缓存数据中的分区查询结果进行更新,在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果,通过更新各时间分区的查询数据从而实现更新缓存中数据,以使在查询数据的时候可以快速从缓存中获取已更新的最新数据,因此本发明实施例的技术方案在实现了提高指标数据的查找效率的同时减小对数据库的查询的压力。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1是本发明实施例一提供的指标数据查询方法的流程示意图;
图2是本发明实施例一涉及的一种待查询时间段分区的结构示意图;
图3是本发明实施例一涉及的另一种待查询时间段分区的结构示意图;
图4是本发明实施例一涉及的一种时间段分区更新数据的结构示意图;
图5是本发明实施例二提供的指标数据查询装置的结构示意图;
图6为本发明实施例三提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种指标数据查询方法的流程图,本实施例可适用于在对数据库中的各指标数据进行查询的情况。该方法可以由指标数据查询装置来执行,该装置可以由软件和/或硬件的方式来实现。如图1所示,该方法具体包括以下步骤:
S110、确定待查询时间段,并对待查询时间段进行分区,得到待查询时间段的各时间分区。
在本发明实施例中,待查询时间段可以是需要查询指标数据的时间间隔,该时间段可以是当天的24个小时,也可以是从当天的0时刻到当前时刻,当然还可以是预先设置待查询时间段的起始时间和结束时间,例如是2020-06-18 00:00到2020-06-18 00:40。
可选的,对待查询时间段进行分区的方法可以是:确定待查询时间段的时长以及预设单位时长;基于预设单位时长以及待查询时间段的时长,按照预设分区方式对待查询时间段进行分区,得到待查询时间段的各时间分区。其中,预设单位时长为用于对待查询段的时长进行分区得到各时间分区的时长,该单位时长可以根据实际情况进行具体设置,当然为了避免因为时间分区的时间段过长而导致的系统压力过大,所以在设置单位时长时可以设置较短时间,例如以分钟为计时单位时可以将单位时长设置15分钟。
具体的,确定待查询时间段的时长的方法可以是通过待查询时间段的起始时间和结束时间的时间差进行确定。例如以分钟为计时单位时,当待查询时间段为当天的24个小时时,确定待查询的时长为1440分钟;当待查询的时间段是2020-06-18 00:00到2020-06-18 00:39时可以确定待查询的时间时长是40分钟。按照预设的分区方式对待查询时间段进行分区,得到待查询时间段的各时间分区的方法可以是基于预设单位时长与待查询时间段的时长的整除结果确定待查询时间段的各时间分区方法,需要说明的是,在进行整除之前要保证预设单位时长的计时单位与待查询时间段的时长的计时单位保持一致。
可选的,基于预设单位时长与待查询时间段的时长的整除结果确定待查询时间段的各时间分区的方法可以是:若预设单位时长能够被待查询时间段的时长整除,则按照预设单位时长将待查询时间段划分成多个时长相等的时间分区。
具体的如图2所示,当待查询时间段为当天的24个小时时,以15分钟为单位时长。在进行整除计算之前要先进行计时单位换算,即可以将待查询时间段的24小时可以换算成1440分钟,或者将单位时长15分钟的计时单位换算成0.25小时。在预设单位时长以及待查询时间段的时长的计时单位一致的基础上进行整除计算,得到预设单位时长能够被待查询时间段的时长整除的计算结果,按照每个时间分区的单位时长为15分钟将待查询时间段的24个小时均匀的划分为96个时间分区。
可选的,基于预设单位时长与待查询时间段的时长的整除结果确定待查询时间段的各时间分区的方法还可以是:若预设单位时长不能够被待查询时间段的时长整除,则按照预设单位时长对待查询时间段中时长能够整除预设单位时长的最大子时间段进行分区,得到至少一个时长相等的时间分区,并将剩余的子时间段单独作为一个时间分区。
具体的如图3所示,当待查询时间段是2020-06-18 00:00到2020-06-18 00:39时,可以确定待查询时间时长是40分钟,同样预先设置分区的单位时长是15分钟,在预设单位时长以及待查询时间段的时长的计时单位一致的基础上进行整除计算,得到预设单位时长不能够被待查询时间段的时长整除的计算结果,则将待查询时间段中时长能够整除预设单位时长的最大子时间段进行分区,得到至少一个时长相等的时间分区,即将前30分钟进行分区,得到两个时间分区,再将剩余的"2020-06-18 00:30"-“2020-06-18 00:39”中不足15分钟的时间段单独划分为一个分区,得到该待查询时间段的时间分区为3个时间分区。
S120、从数据库查询各时间分区分别对应的指标数据,基于查询到的指标数据获得各时间分区的分区查询结果,将分区查询结果保存在缓存中,并定时对缓存中的分区查询结果进行更新。
在本发明实施例中,指标数据可以是通过数据库中的元数据计算后的数据。在本实施例中指标数据可以是当天接单量、配送任务量、妥投量等中至少一类数据,并指标数据的数量可以为一个,也可以为多个,本实施例对指标数据的类型以及数量都不加以限制。
具体的,可以基于SQL查询语句从数据库中查询各时间分区分别对应的指标数据,将查询到的指标数据作为各时间分区的分区查询结果,并将各分区查询结果保存在缓存中,以便于之后可以直接从缓存中读取已查询到的数据,避免了因为多次查询给系统带来的压力。当然,存储在缓存中的分区查询结果会在定期进行更新,以保证存储在缓存的数据为最新的数据,保证了缓存的数据的实时性。
可选的,定时对缓存中的分区查询结果进行更新的方法可以是:在预设更新周期到来时,确定待查询时间段的时长是否大于预设阈值;具体的,在对待查询时间段进行定时更新之前,确定待查询时间段的时长与预设阈值的对比结果,并根据比对结果确定是否对待查询时间段进行定期更新。其中,预设阈值的时长可以设置为1小时,当然也可以根据实际情况进行具体的设置。
可选的,当确定待查询时间段的时长大于预设阈值时,根据当前时间从各时间分区中选取部分时间分区,作为需要更新的目标时间分区;对于各目标时间分区,从数据库查询当前目标时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的当前目标时间分区的分区查询结果进行更新。
可选的,根据当前时间从各时间分区中选取部分时间分区的选取方法可以是确定当前时间的分钟时刻;从各时间分区中选取涉及到分钟时刻的时间分区的时间分区,将选取的时间分区作为目标时间分区。
具体的如图4所示,当待查询时间段为"2020-06-18 00:00"-“2020-06-18 02:15”,确定待查询时间段的时长大于预设阈值(1小时),则按照预设分区方式确定待查询时间段的时间分区为9个时间分区。当前时间为2020-06-18 02:15时,可以确定当前时间的分钟时刻为15,即从待查询时间段的9个分区中可以确定分区1、分区5和分区9涉及分钟时刻为15的分区,所以将涉及到的3时间分区选取为目标时间分区。采用SQL查询语句从数据库中查询当前目标时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的当前目标时间分区的分区查询结果进行更新,上述实施例中只对目标时间分区进行数据更新,可以减小对系统操作的压力。
在上述实施例的基础上,在执行定期更新目标时间分区的数据时,对正在执行的时间分区以预设方式设置唯一标识,多个线程基于标识对目标时间分区进行数据更新,以避免因为多个线程同时执行同一时间分区,从而造成系统压力以及系统资源浪费。该唯一标识可以是采用SQL+日期+时刻的方式设置,当然也可以采用其他方式设置,本实施例对此不加以限制。
可选的,在待查询时间段的时长不大于预设阈值时,对于待查询时间段的各时间分区,从数据库查询各时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的各时间分区的分区查询结果进行更新。
具体的,当待查询时间段是2020-06-18 00:00到2020-06-18 00:39时,确定待查询时间段的时长不大于预设阈值(1小时),则按照预设分区方式确定待查询时间段的时间分区为3个时间分区,将待查询时间段的3个分区作为目标分区,采用SQL查询语句从数据库查询当前目标时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的当前目标时间分区的分区查询结果进行更新。
S130、在接收到对待查询时间段的数据查询请求时,根据缓存中当前保存的各分区查询结果得到待查询时间段的指标数据的目标查询结果。
在本发明实施例中,当监测到对待查询时间段的查询请求时,从缓存中读取各时间分区分别对应的分区查询结果;将各分区查询结果进行求和得到待查询时间段的指标数据的目标查询结果。
具体的,采用多线程分别从缓存中读取各时间分区分别对应的分区查询结果,其中,分区查询结果中包括目标时间分区的更新后的分区查询结果和其他各时间分区缓存的分区查询结果,并对各时间分区的分区查询结果进行求和,得到待查询时间段的指标数据的目标查询结果,相对于从数据库中查询数据,从缓存中读取数据的操作会减小对系统的压力,而从将定期更新的数据存储至缓存中保证了数据的实时性。
本发明实施例的技术方案,通过对待查询的时间段进行分区,得到待查询时间段的各时间分区,以便于采用多线程同时对各时间分区的指标数据进行查询,减小系统操作的压力。从数据库查询各时间分区分别对应的指标数据,基于查询到的指标数据获得各时间分区的分区查询结果,并将分区查询结果保存在缓存中并定时对缓存数据中的分区查询结果进行更新,在接收到对待查询时间段的数据查询请求时,根据缓存中当前保存的各分区查询结果得到待查询时间段的指标数据的目标查询结果,通过更新各时间分区的查询数据从而实现更新缓存中数据,以使在查询数据的时候可以快速从缓存中获取已更新的最新数据,因此本发明实施例的技术方案在实现了提高指标数据的查找效率的同时减小对数据库的查询的压力。
以下是本发明实施例提供的指标数据查询装置的实施例,该装置与上述各实施例的指标数据查询方法属于同一个发明构思,在指标数据查询装置的实施例中未详尽描述的细节内容,可以参考上述指标数据查询方法的实施例。
实施例二
图5为本发明实施例二提供的指标数据查询装置的结构示意图,本实施例可适用于在对数据库中的各指标数据进行查询的情况。该指标数据查询装置的具体结构包括:时间分区确定模块210、分区查询结果确定模块220和目标查询结果确定模块230;其中,
时间分区确定模块210,用于确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区。
分区查询结果确定模块220,用于从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新。
目标查询结果确定模块230,用于在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
本发明实施例的技术方案,通过对待查询的时间段进行分区,得到待查询时间段的各时间分区,以便于采用多线程同时对各时间分区的指标数据进行查询,减小系统操作的压力。从数据库查询各时间分区分别对应的指标数据,基于查询到的指标数据获得各时间分区的分区查询结果,并将分区查询结果保存在缓存中并定时对缓存数据中的分区查询结果进行更新,在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果,通过更新各时间分区的查询数据从而实现更新缓存中数据,以使在查询数据的时候可以快速从缓存中获取已更新的最新数据,因此本发明实施例的技术方案在实现了提高指标数据的查找效率的同时减小对数据库的查询的压力。
在上述技术方案的基础上,时间分区确定模块210,包括:
第一时长确定单元,用于确定所述待查询时间段的时长以及预设单位时长。
时间分区确定单元,用于基于所述预设单位时长以及所述待查询时间段的时长,按照预设分区方式对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区。
在上述技术方案的基础上,时间分区确定单元,包括:
第一时间分区确定子单元,用于若所述预设单位时长能够被所述待查询时间段的时长整除,则按照所述预设单位时长将所述待查询时间段划分成多个时长相等的时间分区。
第二时间分区确定子单元,用于若所述预设单位时长不能够被所述待查询时间段的时长整除,则按照所述预设单位时长对所述待查询时间段中时长能够整除所述预设单位时长的最大子时间段进行分区,得到至少一个时长相等的时间分区,并将剩余的子时间段单独作为一个时间分区。
在上述技术方案的基础上,分区查询结果确定模块220,包括:
第二时长确定单元,用于在预设更新周期到来时,确定所述待查询时间段的时长是否大于预设阈值。
第一目标时间分区确定单元,用于在所述待查询时间段的时长大于预设阈值时,根据当前时间从所述各时间分区中选取部分时间分区,作为需要更新的目标时间分区。
第一分区查询结果更新单元,用于对于各所述目标时间分区,从所述数据库查询当前目标时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的当前目标时间分区的分区查询结果进行更新。
在上述技术方案的基础上,第一目标时间分区确定单元,包括:
分钟时刻确定子单元,用于确定当前时间的分钟时刻;
目标时间分区确定子单元,用于从所述各时间分区中选取涉及到所述分钟时刻的时间分区的时间分区,将选取的时间分区作为目标时间分区。
在上述技术方案的基础上,分区查询结果确定模块220,还包括:
第二分区查询结果更新单元,用于在所述待查询时间段的时长不大于预设阈值时,对于所述待查询时间段的各时间分区,从所述数据库查询所述各时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的所述各时间分区的分区查询结果进行更新。
在上述技术方案的基础上,目标查询结果确定模块230,包括:
目标查询结果确定单元,用于从所述缓存中读取所述各时间分区分别对应的分区查询结果;将所述各分区查询结果进行求和得到所述待查询时间段的指标数据的目标查询结果。
本发明实施例所提供的指标数据查询装置可执行本发明任意实施例所提供的指标数据查询方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述指标数据查询装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例三
图6为本发明实施例三提供的一种电子设备的结构示意图。图6示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图6显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备12以通用计算电子设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及样本数据获取,例如实现本发实施例所提供的一种指标数据查询方法步骤,指标数据查询方法包括:
确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;
从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;
在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的样本数据获取方法的技术方案。
实施例四
本实施例四提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现例如实现本发实施例所提供的一种指标数据查询方法步骤,指标数据查询方法包括:
确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;
从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;
在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种指标数据查询方法,其特征在于,包括:
确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;
从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;
在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区,包括:
确定所述待查询时间段的时长以及预设单位时长;
基于所述预设单位时长以及所述待查询时间段的时长,按照预设分区方式对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区。
3.根据权利要求2所述的方法,其特征在于,所述待查询时间段的时长以及所述预设单位时长的计时单位相同,其中,
基于所述预设单位时长以及所述待查询时间段的时长,按照预设分区方式对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区,包括:
若所述预设单位时长能够被所述待查询时间段的时长整除,则按照所述预设单位时长将所述待查询时间段划分成多个时长相等的时间分区;
若所述预设单位时长不能够被所述待查询时间段的时长整除,则按照所述预设单位时长对所述待查询时间段中时长能够整除所述预设单位时长的最大子时间段进行分区,得到至少一个时长相等的时间分区,并将剩余的子时间段单独作为一个时间分区。
4.根据权利要求1所述的方法,其特征在于,所述定时对所述缓存中的分区查询结果进行更新,包括:
在预设更新周期到来时,确定所述待查询时间段的时长是否大于预设阈值;
在所述待查询时间段的时长大于预设阈值时,根据当前时间从所述各时间分区中选取部分时间分区,作为需要更新的目标时间分区;
对于各所述目标时间分区,从所述数据库查询当前目标时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的当前目标时间分区的分区查询结果进行更新。
5.根据权利要求4所述的方法,其特征在于,所述根据当前时间从所述各时间分区中选取部分时间分区,作为需要更新的目标时间分区,包括:
确定当前时间的分钟时刻;
从所述各时间分区中选取涉及到所述分钟时刻的时间分区,将选取的时间分区作为目标时间分区。
6.根据权利要求4所述的方法,其特征在于,所述定时对所述缓存中的分区查询结果进行更新,还包括:
在所述待查询时间段的时长不大于预设阈值时,对于所述待查询时间段的各时间分区,从所述数据库查询所述各时间分区对应的指标数据,并基于当前查询到的指标数据对缓存中保存的所述各时间分区的分区查询结果进行更新。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果,包括:
从所述缓存中读取所述各时间分区分别对应的分区查询结果;将所述各分区查询结果进行求和得到所述待查询时间段的指标数据的目标查询结果。
8.一种指标数据查询装置,其特征在于,包括:
时间分区确定模块,用于确定待查询时间段,并对所述待查询时间段进行分区,得到所述待查询时间段的各时间分区;
分区查询结果确定模块,用于从数据库查询所述各时间分区分别对应的指标数据,基于查询到的指标数据获得所述各时间分区的分区查询结果,将所述分区查询结果保存在缓存中,并定时对所述缓存中的分区查询结果进行更新;
目标查询结果确定模块,用于在接收到对所述待查询时间段的数据查询请求时,根据所述缓存中当前保存的各分区查询结果得到所述待查询时间段的指标数据的目标查询结果。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的指标数据查询方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的指标数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277653.4A CN113760950B (zh) | 2021-03-15 | 2021-03-15 | 指标数据查询方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277653.4A CN113760950B (zh) | 2021-03-15 | 2021-03-15 | 指标数据查询方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760950A true CN113760950A (zh) | 2021-12-07 |
CN113760950B CN113760950B (zh) | 2023-09-05 |
Family
ID=78786816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110277653.4A Active CN113760950B (zh) | 2021-03-15 | 2021-03-15 | 指标数据查询方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760950B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089437A (zh) * | 2022-11-30 | 2023-05-09 | 荣耀终端有限公司 | 一种数据处理方法及服务器 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090198736A1 (en) * | 2008-01-31 | 2009-08-06 | Jinmei Shen | Time-Based Multiple Data Partitioning |
CN103353873A (zh) * | 2013-06-07 | 2013-10-16 | 携程计算机技术(上海)有限公司 | 基于时间度量数据实时查询服务的优化实现方法及系统 |
WO2015034456A1 (en) * | 2013-09-03 | 2015-03-12 | GE Intelligent Platforms Inc. | Materializing views of time series query results in the context of a model |
US20170242591A1 (en) * | 2016-02-19 | 2017-08-24 | International Business Machines Corporation | Historical State Snapshot Construction over Temporally Evolving Data |
CN107562892A (zh) * | 2017-09-06 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种提高ssr违规日志统计性能的方法及装置 |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN108021618A (zh) * | 2017-11-13 | 2018-05-11 | 北京天元创新科技有限公司 | 一种数据查询方法及系统 |
CN109815241A (zh) * | 2019-01-31 | 2019-05-28 | 上海达梦数据库有限公司 | 数据查询方法、装置、设备和存储介质 |
CN110032567A (zh) * | 2019-04-24 | 2019-07-19 | 江苏满运软件科技有限公司 | 报表查询方法、装置、服务器和存储介质 |
CN110334109A (zh) * | 2019-05-08 | 2019-10-15 | 重庆猪八戒知识产权服务有限公司 | 关系式数据库数据查询方法、系统、介质和电子设备 |
CN111159232A (zh) * | 2019-12-16 | 2020-05-15 | 浙江中控技术股份有限公司 | 一种数据缓存方法及系统 |
CN112486985A (zh) * | 2020-11-26 | 2021-03-12 | 广州奇享科技有限公司 | 一种锅炉数据的查询方法、装置、设备及存储介质 |
-
2021
- 2021-03-15 CN CN202110277653.4A patent/CN113760950B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090198736A1 (en) * | 2008-01-31 | 2009-08-06 | Jinmei Shen | Time-Based Multiple Data Partitioning |
CN103353873A (zh) * | 2013-06-07 | 2013-10-16 | 携程计算机技术(上海)有限公司 | 基于时间度量数据实时查询服务的优化实现方法及系统 |
WO2015034456A1 (en) * | 2013-09-03 | 2015-03-12 | GE Intelligent Platforms Inc. | Materializing views of time series query results in the context of a model |
US20170242591A1 (en) * | 2016-02-19 | 2017-08-24 | International Business Machines Corporation | Historical State Snapshot Construction over Temporally Evolving Data |
CN107562892A (zh) * | 2017-09-06 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种提高ssr违规日志统计性能的方法及装置 |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN108021618A (zh) * | 2017-11-13 | 2018-05-11 | 北京天元创新科技有限公司 | 一种数据查询方法及系统 |
CN109815241A (zh) * | 2019-01-31 | 2019-05-28 | 上海达梦数据库有限公司 | 数据查询方法、装置、设备和存储介质 |
CN110032567A (zh) * | 2019-04-24 | 2019-07-19 | 江苏满运软件科技有限公司 | 报表查询方法、装置、服务器和存储介质 |
CN110334109A (zh) * | 2019-05-08 | 2019-10-15 | 重庆猪八戒知识产权服务有限公司 | 关系式数据库数据查询方法、系统、介质和电子设备 |
CN111159232A (zh) * | 2019-12-16 | 2020-05-15 | 浙江中控技术股份有限公司 | 一种数据缓存方法及系统 |
CN112486985A (zh) * | 2020-11-26 | 2021-03-12 | 广州奇享科技有限公司 | 一种锅炉数据的查询方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
屈志坚;陈阁;: "容错存储的电力系统监测数据查询优化技术", 电网技术, no. 11, pages 237 - 243 * |
李爱国: "大规模时间序列数据库降维及相似搜索", 计算机学报, pages 1467 - 1475 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089437A (zh) * | 2022-11-30 | 2023-05-09 | 荣耀终端有限公司 | 一种数据处理方法及服务器 |
CN116089437B (zh) * | 2022-11-30 | 2023-10-03 | 荣耀终端有限公司 | 一种数据处理方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113760950B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816083B2 (en) | Method and system for indexing of time-series data | |
US9524318B2 (en) | Minimizing result set size when converting from asymmetric to symmetric requests | |
US9378234B2 (en) | Management of updates in a database system | |
US20120303634A1 (en) | In-Memory Data Grid Hash Scheme Optimization | |
CN113468128A (zh) | 一种数据处理的方法、装置、电子设备及存储介质 | |
CN110807145A (zh) | 查询引擎获取方法、设备和计算机可读存储介质 | |
CN114996288A (zh) | 数据比对方法及装置、计算机存储介质、电子设备 | |
CN113468196B (zh) | 用于处理数据的方法、装置、系统、服务器和介质 | |
CN113760950B (zh) | 指标数据查询方法、装置、电子设备以及存储介质 | |
CN110704442A (zh) | 一种大数据的实时获取方法及装置 | |
CN114185885A (zh) | 一种基于列存数据库的流式数据处理方法及系统 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
CN113761052A (zh) | 数据库同步方法和装置 | |
CN109542912B (zh) | 区间数据存储方法、装置、服务器及存储介质 | |
CN113220705A (zh) | 慢查询识别的方法和装置 | |
CN111198917A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115048421A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN115438056A (zh) | 一种数据获取方法、装置、设备以及存储介质 | |
US9058344B2 (en) | Supporting flexible types in a database | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
CN113377604B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN114282968A (zh) | 一种流水号的获取方法、装置、服务器和存储介质 | |
CN117390040B (zh) | 基于实时宽表的业务请求处理方法、设备及存储介质 | |
CN113553320B (zh) | 数据质量监控方法及装置 | |
CN111522832B (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 |