CN111506606A - 一种报表查询方法及相关设备 - Google Patents
一种报表查询方法及相关设备 Download PDFInfo
- Publication number
- CN111506606A CN111506606A CN202010290461.2A CN202010290461A CN111506606A CN 111506606 A CN111506606 A CN 111506606A CN 202010290461 A CN202010290461 A CN 202010290461A CN 111506606 A CN111506606 A CN 111506606A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- statement
- report
- cache 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.)
- 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/245—Query processing
- G06F16/2455—Query execution
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开了一种报表查询方法,用于对报表中的数据进行查询。本申请实施例方法包括:获取SQL语句,所述SQL语句用于查询目标数据;获取所述SQL语句对应的刷新频率;查询所述刷新频率对应的缓存分组内是否存在所述SQL语句所对应的缓存数据,所述缓存分组内所述缓存数据的有效时长相同;若存在所述SQL语句所对应的缓存数据,则确定所述缓存数据为所述目标数据;若不存在所述SQL语句所对应的缓存数据,则执行所述SQL语句获得目标数据,将所述目标数据确定为缓存数据并放入所述缓存分组,并设置所述缓存分组内所述缓存数据的有效时长相同。
Description
技术领域
本申请实施例涉及数据处理领域,尤其涉及一种报表查询方法及相关设备
背景技术
报表可以表示为:“报表等于多样的取数公式加上动态的数据”,应用于计算机程序中的报表的主要特点是数据动态化,取数公式多样化,并且可以实现报表数据和取数公式的完全分离,用户可以只修改数据进而改变所有涉及该数据的取数公式所获得的结果,或者只修改取数公式进而获得不同关系下数据的计算结果。报表可以清晰明了地展示所填写数据之间的关系,在各种领域都有着重要的作用。
用户可在报表在使用过程中生成结构化查询语言(SQL,Structured QueryLanguage)语句对报表中的数据进行查询,服务器执行SQL语句后会将所获得的查询结果进行缓存,当同一SQL语句再次执行时,服务器直接获取已缓存的数据作为查询结果而无需执行该SQL语句,以降低服务器的运算负荷。同时为保证数据的实时性,报表一般设置有刷新频率,当一个缓存数据存在时间达到刷新频率所设定的时间时,则该缓存数据无效,SQL语句再次执行时将重新查询较新的数据。
在单个报表中存在多条SQL语句时,由于不同SQL语句获取缓存数据时的执行时间不同,过期时间也容易不同,在同时执行两个SQL语句时若刷新频率相同但两条SQL语句分别对应的缓存数据起止时间不同,容易造成返回的查询结果存在一致性问题,即一条SQL语句执行的结果为新获取的数据,而另一条SQL语句执行的结果仍为缓存数据。造成报表中的数据结果不准确。
发明内容
本申请实施例第一方面提供了一种报表查询方法,包括:
获取SQL语句,所述SQL语句用于获取目标数据;
获取所述SQL语句对应的刷新频率;
查询所述刷新频率对应的缓存分组内是否存在所述SQL语句所对应的缓存数据,所述缓存分组内所述缓存数据的有效时长相同;
若存在所述SQL语句所对应的缓存数据,则确定所述缓存数据为所述目标数据;
若不存在所述SQL语句所对应的缓存数据,则执行所述SQL语句获得目标数据,将所述目标数据确定为缓存数据并放入所述缓存分组,并设置所述缓存分组内所述缓存数据的有效时长相同。
基于本申请实施例第一方面,可选地,所述设置所述缓存分组内所述缓存数据的有效时长相同,包括:设置所述缓存分组内的缓存数据的有效时长为所述刷新频率的时长减去所述缓存分组的工作时长与所述刷新频率的余数。
基于本申请实施例第一方面,可选地,所述SQL语句为可供多个报表使用的公用SQL语句。
基于本申请实施例第一方面,可选地,所述获取刷新频率,包括:读取所述报表的刷新频率。
基于本申请实施例第一方面,可选地,所述缓存分组由依据刷新频率及特定属性对缓存数据进行分组处理得到。
基于本申请实施例第一方面,可选地,所述特定属性为报表等级。
基于本申请实施例第一方面,可选地,所述查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据,之前,所述方法还包括:
判断是否存在所述刷新频率所对应的缓存分组;
若存在,则执行所述查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据步骤;
若不存在,则创建所述刷新频率所对应的缓存分组,执行所述查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据步骤。
本申请实施例第二方面提供了一种报表查询设备,包括:
第一获取单元,用于获取SQL语句,所述SQL语句用于获取目标数据;
第二获取单元,用于获取刷新频率;
查询单元,用于查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据;若存在所述SQL语句所对应的缓存数据,则触发确定单元,若不存在所述SQL语句所对应的缓存数据,则触发执行单元;
所述确定单元,用于确定所述缓存数据为所述目标数据;
所述执行单元,用于执行所述SQL语句获得目标数据,将所述目标数据确定为缓存数据并放入所述缓存分组。并设置所述缓存分组内所述缓存数据的有效时长相同。
本申请实施例第三方面提供了一种报表查询设备,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述人员计数设备上执行所述存储器中的指令操作以执行本申请实施例第一方面中任意一项所述的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
本申请实施例第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:获取需执行的SQL语句与刷新频率,在该刷新频率所对应的缓存分组中查询该SQL语句对应的缓存数据,若分组内不存在对应数据,则执行SQL语句,并将查询结果放入缓存分组中,且缓存分组内的缓存过期时间相同,从而保证了刷新频率相同的SQL语句所对应的缓存过期时间一致,在同时查询两条刷新频率相同的SQL语句时,减少出现一条获取到的数据为已缓存的数据,另一条为新获取的数据的情况,提高了数据的一致性,增加了数据的准确性。
附图说明
图1为本申请报表查询方法实施例的一个流程示意图;
图2为本申请报表查询方法实施例的另一个流程示意图;
图3为本申请报表查询设备实施例的一个结构示意图;
图4为本申请报表查询设备实施例的另一个结构示意图。
具体实施方式
本申请实施例提供了一种报表查询方法,用于对报表中的数据进行查询。
报表可以表示为:“报表等于多样的取数公式加上动态的数据”,应用于计算机程序中的报表的主要特点是数据动态化,取数公式多样化,并且可以实现报表数据和取数公式的完全分离,用户可以只修改数据进而改变所有涉及该数据的取数公式所获得的结果,或者只修改取数公式进而获得不同关系下数据的计算结果。报表可以清晰明了地展示所填写数据之间的关系,在各种领域都有着重要的作用。
用户可在报表在使用过程中生成结构化查询语言(SQL,Structured QueryLanguage)语句对报表中的数据进行查询,服务器执行SQL语句后会将所获得的查询结果进行缓存,当同一SQL语句再次执行时则服务器直接获取已缓存的数据作为查询结果,以降低报表的运算负荷。同时为保证数据的实时性,报表一般设置有刷新频率,当一个缓存数据存在时间达到刷新频率所设定的时间,则该缓存数据无效,SQL语句将重新执行以获取较新的数据。
在单个报表中存在多条SQL语句时,由于不同SQL语句所对应的缓存数据起止时间不同,过期时间也容易不同,在同时执行两个SQL语句时若刷新频率相同但缓存数据的起止时间不同,容易造成返回的查询结果存在一致性问题,即一条SQL语句执行的结果为新获取的数据,而另一条SQL语句执行的结果仍为缓存数据。造成报表中的数据结果不准确。
请参阅图1,本申请的一个实施例包括:步骤101-步骤107。
101、获取SQL语句。
获取SQL语句,所述SQL语句用于查询目标数据,结构化查询语言(StructuredQuery Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库系统。在对报表进行处理过程中,使用SQL语句进行查询属于业界的常用方法。获取到的SQL语句可以为一条也可为多条,SQL语句所查询数据的所在位置可以在同一报表,也可在多个其他报表上。
102、获取所述SQL语句对应的刷新频率。
获取所述SQL语句对应的刷新频率。SQL语句的刷新频率一般由用户根据需求设定,刷新频率指SQL语句所查询到的结果作为缓存数据的有效时长;该时长可由用户手动设置;具体可对单个的SQL语句分别设置刷新频率,也可仅对报表本身设置刷新频率,对该报表内数据进行查询的SQL语句都采用该报表的刷新频率。设置刷新频率的目的在于,使得数据可较全面的表现某一时刻的数据,不致数据变化过程对用户的查询过程造成交叉影响。在使用报表时,SQL语句经常会多句同时使用,且同时使用的SQL语句通常会具有关联关系,如使用三条SQL语句同时查询某路口的驶入车辆数量,驶出车辆数量和经过该路口的车辆总数量;查询经过该路口的车辆总数量所对应的SQL语句要在前两条语句执行完毕之后才执行,执行时刻不同,则其缓存过期的时刻也不相同,若一定时间后再次同时查询这三种数据,驶入车辆数量和驶出车辆数量所对应的缓存已经过期,但经过该路口的总数量由于缓存获取时刻靠后,缓存数据仍未过期,因此未过期的数据被系统认为仍旧有效,则返回的结果就会出现驶入车辆数量和驶出车辆数量为新获取的数据,而经过该路口的车辆总数量仍为上次查询的结果,造成数据之间不对应,引起一致性的问题。
103、查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据。
查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据,在同一刷新频率所对应的缓存分组中查找是否存在所述SQL语句所对应的缓存数据,由于关联性较强的数据一般SQL语句所对应的刷新频率也相同,因此按刷新频率将SQL语句所对应的缓存分类,同时该缓存分组内的缓存数据有效时长相同。即该缓存分组内的缓存数据会在同一时刻过期,从而保证再次查询多个数据时,不会出现某些数据仍为上次所查询得到的数据。查询结果若为存在所述SQL语句所对应的缓存数据,则执行步骤104、确定所述缓存数据为所述目标数据若不存在所述SQL语句所对应的缓存数据,则执行步骤105、执行所述SQL语句获得目标数据。
104、确定所述缓存数据为所述目标数据。
若在所述刷新频率所对应的缓存分组内存在所述SQL语句所对应的缓存数据。说明该缓存数据有效时间仍未耗尽,可将该缓存结果作为查询所得到的目标数据返回给报表。由于刷新频率所对应的缓存分组内的缓存数据过期时刻一致,因此此时该报表上所显示的其他刷新频率一致的缓存数据会与本次查询所获得的目标数据同时过期,保证同一刷新频率的SQL所对应的缓存数据同时过期,若再次批量获取同一缓存频率的数据将统一获得新数据,不会出现某些缓存数据已被刷新而某些仍为之前获取的缓存数据的情况。
105、执行所述SQL语句获得目标数据。
若刷新频率所对应的缓存分组内不存在所述SQL语句所对应的缓存数据。则说明该SQL语句上次的获取的缓存数据已超出其的有效期,应再次获取数据以满足用户需求,则执行SQL语句,查询该SQL语句所描述的数据,并得到实时结果,返回为目标数据。
106、将所述目标数据确定为缓存数据并放入所述缓存分组。
查询所获得的数据为较新数据,具有一定时间的使用价值,获取到的数据确定为缓存数据并放入缓存分组;以便于在该缓存数据过期前再次执行该SQL语句时,无需执行SQL语句,直接返回该缓存数据即可完成查询。
107、设置所述缓存分组内所述缓存数据的有效时长相同。
将所述目标数据确定为缓存数据并放入所述缓存分组后,为保证同一缓存分组内的缓存数据具有相同的过期时间,应对该缓存数据进行设置,以使得该缓存分组内的缓存数据过期时间相同。缓存数据的过期时间设置方式可以是对每条SQL执行所获得的缓存数据分别设置有效时长,以使得不同SQL执行所获得的缓存数据过期时间一致,也可不对缓存数据设置有效时长,而是以特定时间频率清空缓存分组,进而达到缓存分组内缓存数据的有效时长相同的效果,具体可依照实际情况而定,此处不做限定。
从以上技术方案可以看出,本申请实施例具有以下优点:通过对SQL分组的刷新频率进行分析,在该刷新频率所对应的缓存分组中获取对应的缓存数据,若分组内不存在对应数据,则执行SQL语句,并将执行结果放入缓存分组中,且缓存分组内的缓存过期时间相同,从而保证了刷新频率相同的SQL语句所对应的缓存过期时间一致,在同时查询两条刷新频率相同的SQL语句时,不会出现数据之间不对应的问题,提高了数据的一致性,增加了数据的准确性。
请参阅图2,本申请报表查询方法的一个实施例包括:步骤201-步骤209。
201、获取SQL语句。
获取SQL语句,所述SQL语句用于查询目标数据,本步骤与上述图1所对应实施例中步骤101类似,具体此处不再赘述。值得注意的是,所述SQL语句可为可供多个报表使用的公用SQL语句,A报表存在某一数据可使用该SQL语句获取,B报表同样存在某一数据可使用该SQL语句获取。但多个报表刷新频率的设置可能存在不同,由于SQL执行所获得的缓存数据的可用时长与报表的刷新频率有关,因此执行公用SQL语句所获得的数据易因刷新频率导致经常刷新,如:某条SQL语句在A报表中设置刷新频率为5分钟/次,但在B报表中设置的刷新频率为10分钟/次,B报表使用该SQL语句所获得的结果时会因A报表中所设置的刷新频率而多次获取数据,造成该数据与B报表中的其他数据存在一致性问题,使用本方法同样可解决该问题,消除多个报表共用SQL语句所导致的数据不一致问题。
202、获取所述SQL语句对应的刷新频率。
获取所述SQL语句对应的刷新频率,获取该SQL语句的刷新频率,即获取该SQL语句执行所获得的数据被缓存后的有效时长。刷新频率可对报表中的单个数据进行设定,也可对整个报表进行设定,值得注意的是,对于多个关联报表中的公用SQL语句需确认本次使用SQL语句查询的数据所对应的报表,并使用该报表中的刷新频率设定作为查询条件。
203、判断是否存在所述刷新频率所对应的缓存分组。
判断是否存在所述刷新频率所对应的缓存分组。判断缓存系统中是否存在与该刷新频率对应的缓存分组,该缓存分组用于存储所有该刷新频率的SQL语句执行所得到的执行结果,并对其进行设定,以使得缓存分组内的缓存结果过期时间相同。若不存在对应的缓存分组则说明该缓存分组未被创建,应进行创建,即204、创建所述刷新频率所对应的缓存分组。若存在对应的缓存分组则说明该缓存分组已被创建,可直接使用,执行步骤205、查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据。
可以理解的是,缓存分组的分组条件除刷新频率外,还可存在其他细化条件对以刷新频率所对应的缓存分组进行进一步分组,即:所述缓存分组由依据刷新频率及特定属性对缓存数据进行分组处理得到。如对于多个存在关联关系的报表组,某些报表查询时所使用的SQL语句所对应的刷新频率虽一致,但彼此之间关系不大,即使其对应的缓存数据不会同时过期对数据的一致性影响也较小,此时可将其再次分组,如:分组为一级报表5分钟/次刷新频率所对应的缓存分组和二级报表5分钟/次刷新频率所对应的缓存分组。通过将关联关系较为紧密的缓存数据划分为同一组,使得彼此之间关联关系不大但具有同样刷新频率的缓存数据可按不同时间周期过期,更有效的利用缓存数据的有效时间,提高了方案的可实施性。
204、创建所述刷新频率所对应的缓存分组。
创建所述刷新频率所对应的缓存分组。若不存在刷新频率所对应的缓存分组。则创建所述刷新频率所对应的缓存分组,创建完成后执行步骤205、查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据。新创建的缓存分组用于存储该刷新频率所对应的缓存数据。
205、查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据。
查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据。即查询该SQL语句是否存在对应的仍有效的缓存数据。若存在则无需执行SQL语句可直接返回结果。即执行步骤206、确定所述缓存数据为所述目标数据。若不存在对应结果,则需重新获取缓存数据,即执行步骤207、执行所述SQL语句获得目标数据。
206、确定所述缓存数据为所述目标数据。
若缓存分组内存在所述SQL语句所对应的缓存数据,则说明该SQL语句在近期执行过,获取到的数据仍处于有效期,无需再次执行该SQL语句,使用该SQL语句所对应的缓存数据即可。
207、执行所述SQL语句获得目标数据。
若缓存分组内不存在所述SQL语句所对应的缓存数据,则说明该SQL语句并未执行过,或对应的缓存已经过期,应重新获取较新的数据则执行所述SQL语句获得目标数据,并返回目标数据作为报表的查询结果。
208、将所述目标数据确定为缓存数据并放入所述缓存分组。
将所述目标数据确定为缓存数据并放入所述缓存分组。SQL语句执行查询所获得的数据为较新数据,具有一定时间的使用价值,获取到的数据确定为缓存数据并放入缓存分组;以便于在该缓存数据过期前再次执行该SQL语句时,无需执行SQL语句,直接返回该缓存数据即可完成查询。
209、设置所述缓存分组内所述缓存数据的有效时长相同。
设置所述缓存分组内所述缓存数据的有效时长相同。为保证同一缓存分组内的缓存数据具有相同的过期时间,应对该缓存数据进行设置,以使得该缓存分组内的缓存数据过期时间相同。一种可行的办法是,设置所述缓存分组内的缓存数据的有效时长为所述刷新频率的时长减去所述缓存分组的工作时长与所述刷新频率的余数。即使得缓存分组内的缓存数据每过一个刷新频率的时长则全部过期一次,确定了以刷新频率为周期的过期频率,保证缓存数据的利用率。缓存分组的工作时长等于缓存分组的存在时长,即创建该缓存分组的时刻至当前时刻所经过的时长。同时,对于新创建的缓存分组,获取到第一个缓存数据时由于分组内不存在其他数据,创建分组时间与缓存数据的过期时间相同,无需对首个缓存数据的过期时间进行设定,提高了本方法的可实施性。
请参阅图3,本申请一种报表刷新设备的一个实施例包括:
第一获取单元301,用于获取SQL语句,所述SQL语句用于获取目标数据;
第二获取单元302,用于获取刷新频率;
查询单元303,用于查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据;若存在所述SQL语句所对应的缓存数据,则触发确定单元304,若不存在所述SQL语句所对应的缓存数据,则触发执行单元305;
确定单元304,用于确定所述缓存数据为所述目标数据;
执行单元305,用于执行所述SQL语句获得目标数据,将所述目标数据确定为缓存数据并放入所述缓存分组。并设置所述缓存分组内所述缓存数据的有效时长相同。
本实施例中,报表刷新设备中各单元所执行的流程与前述图1所对应的实施例中描述的方法流程类似,此处不再赘述。
图4是本申请实施例提供的一种报表刷新设备的结构示意图,该服务器400可以包括一个或一个以上中央处理器(central processing units,CPU)401和存储器405,该存储器405中存储有一个或一个以上的应用程序或数据。
本实施例中,中央处理器401中的具体功能模块划分可以与前述图3中所描述的第一获取单元、第二获取单元、查询单元、确定单元和执行单元等单元的功能模块划分方式类似,此处不再赘述。
其中,存储器405可以是易失性存储或持久存储。存储在存储器405的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器401可以设置为与存储器405通信,在服务器400上执行存储器405中的一系列指令操作。
服务器400还可以包括一个或一个以上电源402,一个或一个以上有线或无线网络接口403,一个或一个以上输入输出接口404,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器401可以执行前述图1所示实施例中报表刷新方法所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述报表刷新方法所用的计算机软件指令,其包括用于执行为报表刷新方法所设计的程序。
该报表刷新方法可以如前述图1或图2中所描述的报表刷新方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述图1图2中任意一项的报表刷新方法的流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (11)
1.一种报表查询方法,其特征在于,包括:
获取SQL语句,所述SQL语句用于获取目标数据;
获取所述SQL语句对应的刷新频率;
查询所述刷新频率对应的缓存分组内是否存在所述SQL语句所对应的缓存数据,所述缓存分组内所述缓存数据的有效时长相同;
若存在所述SQL语句所对应的缓存数据,则确定所述缓存数据为所述目标数据;
若不存在所述SQL语句所对应的缓存数据,则执行所述SQL语句获得目标数据,将所述目标数据确定为缓存数据并放入所述缓存分组,并设置所述缓存分组内所述缓存数据的有效时长相同。
2.根据权利要求1所述的报表查询方法。其特征在于,所述设置所述缓存分组内所述缓存数据的有效时长相同,包括:设置所述缓存分组内的缓存数据的有效时长为所述刷新频率的时长减去所述缓存分组的工作时长与所述刷新频率的余数。
3.根据权利要求1所述的报表查询方法。其特征在于,所述SQL语句为可供多个报表使用的公用SQL语句。
4.根据权利要求1所述的报表查询方法。其特征在于,所述获取刷新频率,包括:读取所述报表的刷新频率。
5.根据权利要求1所述的报表查询方法。其特征在于,所述缓存分组由依据刷新频率及特定属性对缓存数据进行分组处理得到。
6.根据权利要求5所述的报表查询方法。其特征在于,所述特定属性为报表等级。
7.根据权利要求1所述的报表查询方法。其特征在于,所述查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据,之前,所述方法还包括:
判断是否存在所述刷新频率所对应的缓存分组;
若存在,则执行所述查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据步骤;
若不存在,则创建所述刷新频率所对应的缓存分组,执行所述查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据步骤。
8.一种报表查询设备,其特征在于,包括:
第一获取单元,用于获取SQL语句,所述SQL语句用于获取目标数据;
第二获取单元,用于获取刷新频率;
查询单元,用于查询所述刷新频率所对应的缓存分组内是否存在所述SQL语句所对应的缓存数据;若存在所述SQL语句所对应的缓存数据,则触发确定单元,若不存在所述SQL语句所对应的缓存数据,则触发执行单元;
所述确定单元,用于确定所述缓存数据为所述目标数据;
所述执行单元,用于执行所述SQL语句获得目标数据,将所述目标数据确定为缓存数据并放入所述缓存分组。并设置所述缓存分组内所述缓存数据的有效时长相同。
9.一种报表查询设备,其特征在于,包括:
中央处理器,存储器;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述报表查询设备上执行所述存储器中的指令操作以执行权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-7中任意一项所述的方法。
11.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290461.2A CN111506606A (zh) | 2020-04-14 | 2020-04-14 | 一种报表查询方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290461.2A CN111506606A (zh) | 2020-04-14 | 2020-04-14 | 一种报表查询方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506606A true CN111506606A (zh) | 2020-08-07 |
Family
ID=71864612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290461.2A Pending CN111506606A (zh) | 2020-04-14 | 2020-04-14 | 一种报表查询方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506606A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434018A (zh) * | 2020-10-22 | 2021-03-02 | 金蝶云科技有限公司 | 报表生成方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512222A (zh) * | 2015-11-30 | 2016-04-20 | 中国建设银行股份有限公司 | 数据查询方法及系统和数据读取方法及系统 |
CN107291756A (zh) * | 2016-04-01 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据缓存的方法及装置 |
WO2018120171A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种用于存储过程的执行方法、设备以及系统 |
CN110032567A (zh) * | 2019-04-24 | 2019-07-19 | 江苏满运软件科技有限公司 | 报表查询方法、装置、服务器和存储介质 |
US20200081925A1 (en) * | 2016-09-29 | 2020-03-12 | EMC IP Holding Company LLC | Method and system for cached early-binding document search |
-
2020
- 2020-04-14 CN CN202010290461.2A patent/CN111506606A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512222A (zh) * | 2015-11-30 | 2016-04-20 | 中国建设银行股份有限公司 | 数据查询方法及系统和数据读取方法及系统 |
CN107291756A (zh) * | 2016-04-01 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据缓存的方法及装置 |
US20200081925A1 (en) * | 2016-09-29 | 2020-03-12 | EMC IP Holding Company LLC | Method and system for cached early-binding document search |
WO2018120171A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种用于存储过程的执行方法、设备以及系统 |
CN110032567A (zh) * | 2019-04-24 | 2019-07-19 | 江苏满运软件科技有限公司 | 报表查询方法、装置、服务器和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434018A (zh) * | 2020-10-22 | 2021-03-02 | 金蝶云科技有限公司 | 报表生成方法、装置、计算机设备和存储介质 |
CN112434018B (zh) * | 2020-10-22 | 2024-06-04 | 金蝶云科技有限公司 | 报表生成方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210191958A1 (en) | Method and apparatus of user clustering, computer device and medium | |
US11169994B2 (en) | Query method and query device | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
WO2014089190A1 (en) | Integrating event processing with map-reduce | |
US20150234883A1 (en) | Method and system for retrieving real-time information | |
CN108809704B (zh) | 基于动态时间窗的数据去重统计方法及装置 | |
CN107450994B (zh) | 接口调用方法及系统 | |
CN108897796B (zh) | 一种业务系统调用influxdb数据库的方法、存储介质和服务器 | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN112307062B (zh) | 数据库聚合查询方法、装置及系统 | |
CN105653647A (zh) | Sql语句的信息采集方法及系统 | |
CN112580319A (zh) | 数据处理的方法、装置、设备及计算机可读存储介质 | |
WO2021012861A1 (zh) | 数据查询耗时评估方法、装置、计算机设备和存储介质 | |
CN111506606A (zh) | 一种报表查询方法及相关设备 | |
CN106874332B (zh) | 数据库访问方法和装置 | |
CN110619006A (zh) | 基于物联网的统计数据管理方法、装置、平台和存储介质 | |
CN109634986A (zh) | 系统监测方法、装置、计算机及计算机可读存储介质 | |
CN116340424A (zh) | 报表数据的分存方法、装置、设备及存储介质 | |
CN115454353A (zh) | 一种面向空间应用数据的高速写入及查询方法 | |
CN115114332A (zh) | 一种数据库查询方法、装置、设备及可读存储介质 | |
CN114048231A (zh) | 数据处理方法、装置及计算机程序产品 | |
CN111159229B (zh) | 一种数据查询方法及装置 | |
CN109034982B (zh) | 千万级订单表中订单信息加速处理方法及装置 | |
CN112084193A (zh) | 一种日志查询方法、日志存储方法以及相关设备 | |
CN115314751B (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 |