CN118193454A - 报表文件的获取方法、装置、设备、存储介质和程序产品 - Google Patents

报表文件的获取方法、装置、设备、存储介质和程序产品 Download PDF

Info

Publication number
CN118193454A
CN118193454A CN202410372055.9A CN202410372055A CN118193454A CN 118193454 A CN118193454 A CN 118193454A CN 202410372055 A CN202410372055 A CN 202410372055A CN 118193454 A CN118193454 A CN 118193454A
Authority
CN
China
Prior art keywords
file
report
target
generated
report file
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
CN202410372055.9A
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.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202410372055.9A priority Critical patent/CN118193454A/zh
Publication of CN118193454A publication Critical patent/CN118193454A/zh
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

本申请涉及一种报表文件的获取方法、装置、计算机设备、存储介质和计算机程序产品,涉及计算机技术领域。本申请能够提高报表文件的获取效率,同时还可以避免数据库硬件设备配置扩容所带来的成本增加问题。该方法包括:响应于客户端发起的报表访问请求,获取用户输入的报表参数;根据报表参数,确定待访问的目标报表文件对应的文件目录;根据文件目录,在文件存储区查询目标报表文件是否预生成;在目标报表文件预生成的情况下,在文件存储区获取预生成的目标报表文件,向客户端发送目标报表文件。

Description

报表文件的获取方法、装置、设备、存储介质和程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种报表文件的获取方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术及金融科技的发展,出现了报表文件实时获取的技术,即服务器通过实时访问数据库,并将查询的结果生成报表文件以供用户进行查询或下载。但若碰上报表查询和下载的高峰时期,往往对数据库的访问压力剧增,同时也增加了用户的等待时间。
传统技术中,主要通过扩容数据库硬件设备配置来提升数据库的计算能力,或者通过调优数据查询语句来优化数据库资源配置。然而,对硬件设备进行升级会无形中增加经济成本,而数据查询语句的调优空间也十分有限,导致目前技术中存在报表文件获取效率较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种报表文件的获取方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种报表文件的获取方法。所述方法包括:
响应于客户端发起的报表访问请求,获取用户输入的报表参数;
根据所述报表参数,确定待访问的目标报表文件对应的文件目录;
根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;
在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
在其中一个实施例中,所述根据所述报表参数,确定待访问的目标报表文件对应的文件目录,包括:
根据所述报表参数,分别确定所述目标报表文件对应的多个文件索引;按照预设顺序排列多个所述文件索引,得到所述目标报表文件的访问路径;根据所述访问路径,得到所述目标报表文件对应的所述文件目录。
在其中一个实施例中,所述方法还包括:
在所述目标报表文件预生成的情况下,若所述目标报表文件的获取过程存在异常或者所述目标报表文件存在异常,则根据所述报表参数生成数据库查询语句;基于所述数据库查询语句,从数据库中获取报表数据,并根据所述报表数据生成所述目标报表文件;将所述目标报表文件存储至所述文件存储区对应的所述文件目录。
在其中一个实施例中,所述方法还包括:
在空闲时间段监测数据库的当前资源使用率;在所述当前资源使用率未超过所述资源使用率阈值的情况下,根据预生成报表清单,从所述数据库中获取对应的目标报表数据,并根据所述目标报表数据预生成报表文件;将所述报表文件存储至所述文件存储区。
在其中一个实施例中,所述方法还包括:
在所述当前资源使用率超过资源使用率阈值的情况下,进入休眠状态并在目标时间间隔后执行所述在空闲时间段监测数据库的当前资源使用率的步骤。
在其中一个实施例中,所述在空闲时间段监测数据库的当前资源使用率,包括:
在所述空闲时间段,按照目标监测频率监测所述数据库的多个使用率评估指标;根据多个所述使用率评估指标,得到所述数据库的所述当前资源使用率。
在其中一个实施例中,所述根据预生成报表清单,从所述数据库中获取对应的目标报表数据,并根据所述目标报表数据预生成报表文件,包括:
根据所述预生成报表清单,从数据库中获取各待生成的所述报表文件的所述目标报表数据,及确定各待生成的所述报表文件的预生成优先级;按照所述预生成优先级,根据所述目标报表数据依次生成各待生成的所述报表文件。
在其中一个实施例中,在所述按照所述预生成优先级,根据所述目标报表数据依次生成各待生成的所述报表文件之后,还包括:
根据所述预生成报表清单,得到各已生成的所述报表文件的当前报表参数;根据所述当前报表参数,得到各已生成的所述报表文件的当前文件目录;
所述将所述报表文件存储至所述文件存储区,包括:将所述各已生成的所述报表文件存储至所述文件存储区对应的所述当前文件目录中。
第二方面,本申请还提供了一种报表文件的获取装置。所述装置包括:
参数获取模块,用于响应于客户端发起的报表访问请求,获取用户输入的报表参数;
目录确定模块,用于根据所述报表参数,确定待访问的目标报表文件对应的文件目录;
文件查询模块,用于根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;
文件获取模块,用于在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于客户端发起的报表访问请求,获取用户输入的报表参数;根据所述报表参数,确定待访问的目标报表文件对应的文件目录;根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于客户端发起的报表访问请求,获取用户输入的报表参数;根据所述报表参数,确定待访问的目标报表文件对应的文件目录;根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于客户端发起的报表访问请求,获取用户输入的报表参数;根据所述报表参数,确定待访问的目标报表文件对应的文件目录;根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
上述报表文件的获取方法、装置、计算机设备、存储介质和计算机程序产品,通过响应于客户端发起的报表访问请求,获取用户输入的报表参数;根据报表参数,确定待访问的目标报表文件对应的文件目录;根据文件目录,在文件存储区查询目标报表文件是否预生成;在目标报表文件预生成的情况下,在文件存储区获取预生成的目标报表文件,向客户端发送目标报表文件。
在有益效果上:与传统技术中实时获取报表文件的方式相比,本申请通过预生成报表文件,间接减少了服务器在报表查询和下载的高峰时期对数据库的访问压力,这样用户可以在需要查询或下载报表文件时直接在文件存储区获取报表文件,由此大大缩短了用户的等待时间,从而可以提高报表文件的获取效率,同时还可以避免数据库硬件设备配置扩容所带来的成本增加问题。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中报表文件的获取方法的应用环境图;
图2为一个实施例中报表文件的获取方法的流程示意图;
图3为一个实施例中确定文件目录步骤的流程示意图;
图4为一个实施例中生成目标报表文件步骤的流程示意图;
图5为一个实施例中预生成报表文件步骤的流程示意图;
图6为一个实施例中监测当前资源使用率步骤的流程示意图;
图7为一个应用实施例中报表文件的获取方法的流程示意图;
图8为一个实施例中报表文件的获取装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请所涉及的客户信息(包括但不限于客户设备信息、客户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经客户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例提供的报表文件的获取方法,可以应用于如图1所示的应用环境中。其中,客户端通过网络与服务器进行通信。数据存储系统可以存储服务器需要处理的数据。数据存储系统可以集成在服务器上,也可以放在云上或其他网络服务器上。
具体地,本申请实施例提供的报表文件的获取方法,可以由服务器执行。
示例性的,服务器响应于客户端发起的报表访问请求,获取用户输入的报表参数;服务器根据报表参数,确定待访问的目标报表文件对应的文件目录;服务器根据文件目录,在文件存储区查询目标报表文件是否预生成;服务器在目标报表文件预生成的情况下,在文件存储区获取预生成的目标报表文件,向客户端发送目标报表文件。
在如图1所示的应用环境中,客户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种报表文件的获取方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S201,响应于客户端发起的报表访问请求,获取用户输入的报表参数。
其中,报表访问请求可以包括由用户通过客户端向服务器发起的对某一报表文件的查询或者下载相关的请求,用户可以包括对报表文件有访问权限的用户。
其中,报表参数可以包括供用户在访问报表文件时通过动态调整的方式来进行报表信息筛选的相关参数,以便用户能够根据需要动态地指定不同的条件以及各条件对应的数值或者选项,从而访问相应的报表文件。例如,报表参数可以包括城市、日期、产品类别等参数,而城市对应的选项可以包括A1、A2和A3等。
具体地,服务器响应于客户端发起的报表访问请求,向客户端发送指令以使客户端向用户提供用于获取报表参数的页面,并通过页面获取用户输入的报表参数。
步骤S202,根据报表参数,确定待访问的目标报表文件对应的文件目录。
其中,报表文件可以用于存储和展示报表数据,报表数据可以包括报表的结构、布局以及相关的数据,以便在需要时能够被加载和呈现。
其中,报表数据为用于生成报表文件的数据,报表数据可以来自不同的数据源,经过提取、转换和加载等过程后,被组织成特定的格式和结构,以供报表文件生成和呈现使用。
其中,文件目录通常以树状结构展现,可以用于管理文件存储区,使得用户能够方便地查询或下载文件存储区中的报表文件。
具体地,服务器识别出报表参数中包含的城市、日期和产品类别共三种类型的参数信息,将城市、日期和产品类别所对应的参数信息作为生成文件索引的原始数据信息;将各原始数据信息转换成索引结构,得到用户指定的需要访问的目标报表文件所对应的三个文件索引;按照日期、城市、产品类别的先后顺序对三个文件索引进行排序,将排序后形成的连续的文件索引作为目标报表文件的访问路径;再将访问路径中目标报表文件的位置信息作为目标报表文件对应的文件目录。
步骤S203,根据文件目录,在文件存储区查询目标报表文件是否预生成。
其中,预生成指的是在用户发起报表访问请求之前预先生成报表文件,以便用户在需要时能够快速获取并使用。
其中,文件存储区可以是存放预先生成的报表文件的文件夹,文件夹的名称则可以按照一定的规律进行定义,例如:报表参数包含“报表编号为X1,日期为A1年B1月C1日,城市为D1”的报表文件所在文件夹的文件夹名称可以是:X1/ A1年B1月C1日/ D1,与文件夹名称相对应,该报表文件的文件目录可以是:文件存储区/X1/A1B1C1/D1。
具体地,服务器可以根据文件目录在文件存储区存放的文件夹中确定目标报表文件是否存在对应的目标文件夹,由此判断目标报表文件是否预生成。
步骤S204,在目标报表文件预生成的情况下,在文件存储区获取预生成的目标报表文件,向客户端发送目标报表文件。
具体地,服务器在判断目标报表文件已预生成的情况下,在文件存储区下载预生成的目标报表文件,及可以向客户端发送目标报表文件。
本实施例的报表文件的获取方法,通过响应于客户端发起的报表访问请求,获取用户输入的报表参数;根据报表参数,确定待访问的目标报表文件对应的文件目录;根据文件目录,在文件存储区查询目标报表文件是否预生成;在目标报表文件预生成的情况下,在文件存储区获取预生成的目标报表文件,向客户端发送目标报表文件。在有益效果上:与传统技术中实时获取报表文件的方式相比,本实施例通过预生成报表文件,间接减少了服务器在报表查询和下载的高峰时期对数据库的访问压力,这样用户可以在需要查询或下载报表文件时直接在文件存储区获取报表文件,由此大大缩短了用户的等待时间,从而可以提高报表文件的获取效率,同时还可以避免数据库硬件设备配置扩容所带来的成本增加问题。
在其中一个实施例中,如图3所示,步骤S202中的根据报表参数,确定待访问的目标报表文件对应的文件目录,可以包括如下步骤:
步骤S301,根据报表参数,分别确定目标报表文件对应的多个文件索引。
步骤S302,按照预设顺序排列多个文件索引,得到目标报表文件的访问路径。
步骤S303,根据访问路径,得到目标报表文件对应的文件目录。
其中,文件索引可以用于快速查找和定位报表文件,文件索引可以包括城市、日期和产品类别等信息,也可以包括报表文件内容的关键字和摘要等信息。
其中,访问路径可以是用于定位特定的报表文件的位置描述,访问路径可以由一系列的文件索引组成,以反映报表文件在文件存储区中的位置。
具体地,服务器根据报表参数,分别确定目标报表文件对应的多个文件索引,将多个文件索引按照预设顺序进行排列,得到目标报表文件的访问路径;根据访问路径,得到目标报表文件对应的文件目录。
作为示例,可以根据不同类型的报表参数(如报表编号:X2,城市:D2,日期:A2年B2月C2日),分别确定目标报表文件对应的三个文件索引为X2、D2以及A2年B2月C2日;将这三个文件索引按照报表编号、日期和城市这样的先后顺序进行排列,得到目标报表文件的访问路径为:文件存储区→X2→A2B2C2→D2;将访问路径中的位置信息进行提取与整合,得到目标报表文件对应的文件目录为:文件存储区/X2/A2B2C2/D2。
本实施例中,通过先确定文件索引,再按照预设顺序排列文件索引,生成目标报表文件的访问路径,从而准确地将用户输入的报表参数转换为目标报表文件对应的文件目录,有利于提高报表文件的获取效率。
在其中一个实施例中,如图4所示,在根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成之后,本申请的方法还包括如下步骤:
步骤S401,在目标报表文件预生成的情况下,若目标报表文件的获取过程存在异常或者目标报表文件存在异常,则根据报表参数生成数据库查询语句。
步骤S402,基于数据库查询语句,从数据库中获取报表数据,并根据报表数据生成目标报表文件。
步骤S403,将目标报表文件存储至文件存储区对应的文件目录。
在步骤S401中,目标报表文件的获取过程存在异常可以包括目标报表文件生成失败、目标报表文件未完全生成等情况,目标报表文件存在异常可以包括目标报表文件部分损坏、完全损坏等情况。
在步骤S402中,数据库查询语句是用于从数据库中检索数据的指令或命令,如结构化查询语言(SQL,Structured Query Language),可以用于执行各种操作以查询、插入、更新和删除数据库中的数据。
步骤S401中,服务器在判断目标报表文件已预生成的情况下,若识别到目标报表文件的获取过程存在异常或者目标报表文件存在异常,则可以根据报表参数生成数据库查询语句,然后在步骤S402中,基于数据库查询语句,从数据库中获取报表数据并根据报表数据生成目标报表文件,然后在步骤S403中,将目标报表文件存储至文件存储区对应的文件目录。
本实施例可以在目标报表文件的获取过程存在异常或者目标报表文件存在异常的情况下,生成数据库查询语句并实时访问数据库,再根据从数据库中获取的报表数据即时生成目标报表文件以供用户使用,且生成后的目标报表文件在下次访问时可以直接从文件存储区中获取,无需再次生成。
在其中一个实施例中,如图5所示,在响应于客户端发起的报表访问请求,获取用户输入的报表参数之前,本申请的方法还包括如下步骤:
步骤S501,在空闲时间段监测数据库的当前资源使用率。
步骤S502,在当前资源使用率未超过资源使用率阈值的情况下,根据预生成报表清单,从数据库中获取对应的目标报表数据,并根据目标报表数据预生成报表文件。
步骤S503,将报表文件存储至文件存储区。
步骤S501中,空闲时间段可以由用户自行设定,空闲时间段可以是用户访问量少的时间段,如夜间的22:00至次日上午7:00等。
步骤S502中,预生成报表清单可以是用户预先设置的需要预生成报表文件的清单,清单的内容可以包含报表编号、是否已生成、预生成优先级和报表参数等。
步骤S501中,服务器可以在空闲时间段到达时,监测数据库的当前资源使用率,步骤S502中,服务器可以在监测到当前资源使用率未超过资源使用率阈值的情况下,根据预生成报表清单,从数据库中获取对应的目标报表数据,并根据目标报表数据预生成报表文件;再在步骤S503中将报表文件存储至文件存储区对应的文件目录中。
其中,资源使用率阈值可以用于判断数据库是否处于繁忙状态,当前资源使用率低于该阈值表示数据库处于空闲状态,当前资源使用率超过该阈值则表示数据库处于繁忙状态。
本实施例可以在空闲时间段监测数据库的当前资源使用率,当前资源使用率未超过资源使用率阈值的情况下,可以根据预生成报表清单从数据库中获取对应的目标报表数据并预生成报表文件存储于文件存储区,以便用户访问时可以直接从文件存储区获取并提供该报表文件给用户,充分合理地利用数据库的空闲时间,提高数据库的利用率,并间接减少服务器在高峰时期对数据库的访问压力。
在其中一个实施例中,在响应于客户端发起的报表访问请求,获取用户输入的报表参数之前,本申请的方法还包括如下步骤:
在当前资源使用率超过资源使用率阈值的情况下,进入休眠状态并在目标时间间隔后执行在空闲时间段监测数据库的当前资源使用率的步骤。
本实施例中,目标时间间隔可以是由用户自行设定的一段时间。服务器在监测到当前资源使用率超过资源使用率阈值的情况下,使进程进入休眠状态并在目标时间间隔后重新执行上述步骤S501中的在空闲时间段监测数据库的当前资源使用率的步骤。
本实施例可以在当前资源使用率超过资源使用率阈值的情况下,进入休眠状态,等待一段时间后再启动,从而避免对用户驱动报表文件生成方式下的报表文件查询和下载产生影响。
在其中一个实施例中,如图6所示,步骤S501中的在空闲时间段监测数据库的当前资源使用率,可以包括如下步骤:
步骤S601,在空闲时间段,按照目标监测频率监测数据库的多个使用率评估指标。
步骤S602,根据多个使用率评估指标,得到数据库的当前资源使用率。
本实施例中,使用率评估指标可以包括但不限于CPU(Central Processing Unit,中央处理器)使用率、内存和时点查询并发数等参数的指标。
在步骤S601中,服务器在空闲时间段,按照目标监测频率监测数据库的多个使用率评估指标,然后在步骤S602中对该多个使用率评估指标进行综合评估,得到数据库的当前资源使用率。
其中,目标监测频率可以是用户根据实际需要预先设置的用于监测数据库资源使用率的一个数值,如50秒/次、如3分钟/次等。
本实施例通过对根据监测到的多个使用率评估指标进行评估,以准确获得数据库的当前资源使用率,便于以此利用空闲时间段进行报文文件的预生成处理。
在其中一个实施例中,步骤S502中的根据预生成报表清单,从数据库中获取对应的目标报表数据,并根据目标报表数据预生成报表文件,可以包括如下步骤:
根据预生成报表清单,从数据库中获取各待生成的报表文件的目标报表数据,及确定各待生成的报表文件的预生成优先级;按照预生成优先级,根据目标报表数据依次生成各待生成的报表文件。
本实施例中,每个报表文件都有唯一对应的预生成优先级,预生成优先级可以是报表文件在操作系统中预生成的优先级顺序,如第I优先级>第II优先级>第III优先级,服务器通过预生成优先级来确定哪些报表文件需要预生成,并以何种顺序进行预生成。服务器可以根据预生成报表清单,从数据库中获取各待生成的报表文件的目标报表数据,及确定各待生成的报表文件的预生成优先级;按照预生成优先级的级别高低,根据目标报表数据从预生成优先级由高到低依次生成各待生成的报表文件。
本实施例按照预生成优先级,根据目标报表数据依次生成各待生成的报表文件,可以在资源有限的空闲时间段有序合理地安排报表文件的预生成处理。
在其中一个实施例中,在上述实施例中的按照预生成优先级,根据目标报表数据依次生成各待生成的报表文件之后,还可以包括如下步骤:根据预生成报表清单,得到各已生成的报表文件的当前报表参数;根据当前报表参数,得到各已生成的报表文件的当前文件目录。以及,步骤S503中的将报表文件存储至文件存储区,可以包括如下步骤:将各已生成的报表文件存储至文件存储区对应的当前文件目录中。
本实施例中,服务器可以根据预生成报表清单筛选出各已生成的报表文件,并获取各已生成的报表文件的当前报表参数,根据当前报表参数得到各已生成的报表文件的当前文件目录,将各已生成的报表文件存储至文件存储区对应的当前文件目录中,从而通过文件目录快速准确将各已生成的报表文件按照预设的规则进行存储。
为了更清晰阐明本申请实施例提供的报表文件的获取方法,以下以一个实施例对该报表文件的获取方法进行具体说明。在一个实施例中,如图7所示,提供了一种报表文件的获取方法,可以应用于服务器,可以包括以下两种文件获取方式:
一、用户驱动报表文件生成方式:
步骤a1、用户通过浏览器访问报表系统,通过选择过滤的报表参数查看或下载报表文件。例如:需要访问报表文件X3,日期为A3年B3月C3日,城市为D3。
步骤a2、报表系统将请求的参数转为文件目录,并到对应的文件目录下获取报表文件。(例如:步骤a1报表文件对应的访问路径为:文件存储区→X3→A3B3C3→D3,将访问路径中的位置信息进行提取与整合,得到报表文件对应的文件目录为:文件存储区/X3/A3B3C3/D3)
步骤a3、若步骤a2中的报表文件不存在,则将报表参数带入到数据库查询语句(SQL,Structured Query Language,结构化查询语言)中,从数据库中获取报表数据并生成报表文件并存放到对应的文件目录下同时返回给用户。
步骤a4、若用户第二次需要下载步骤a1的报表文件时,则可以直接通过步骤a2直接下载固定报表文件而不用去访问数据库。
二、系统驱动报表文件生成方式:
步骤b1、报表系统通过用户设定的空闲时间段,启动监听数据库资源使用率进程。
步骤b2、若数据库使用率高,为了不影响用户驱动报表文件生成方式下的用户查询,进程进入休眠状态,等待一段时间(如N分钟,时间的长短可由用户自行设置)后再启动。
步骤b3、若数据库使用率低,则通过查看预生成报表清单,按照预生成优先级从高到低依次生成未生成的固定报表文件。
本实施例的有益效果包括:
1)通过合理地利用数据库的空闲时间预生成报表文件,在需要下载报表时服务器直接下载文件即可,间接减少了报表系统业务在高峰期时对数据库的访问压力,并缩短了用户的等待时间,从而提高了数据库的利用率以及报表文件的获取效率。
2)利用按照一定的规律定义文件夹名称的文件存储区对报表文件进行存储,从而将大数据量的报表参数转换为明细数据,方便了报表文件的保存与管理。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的报表文件的获取方法的报表文件的获取装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个报表文件的获取装置实施例中的具体限定可以参见上文中对于报表文件的获取方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种报表文件的获取装置,包括:
参数获取模块801,用于响应于客户端发起的报表访问请求,获取用户输入的报表参数;
目录确定模块802,用于根据报表参数,确定待访问的目标报表文件对应的文件目录;
文件查询模块803,用于根据文件目录,在文件存储区查询目标报表文件是否预生成;
文件获取模块804,用于在目标报表文件预生成的情况下,在文件存储区获取预生成的目标报表文件,向客户端发送目标报表文件。
在一个实施例中,目录确定模块802,还用于根据报表参数,分别确定目标报表文件对应的多个文件索引;按照预设顺序排列多个文件索引,得到目标报表文件的访问路径;根据访问路径,得到目标报表文件对应的文件目录。
在一个实施例中,报表文件的获取装置还包括异常处理模块,用于在目标报表文件预生成的情况下,若目标报表文件的获取过程存在异常或者目标报表文件存在异常,则根据报表参数生成数据库查询语句;基于数据库查询语句,从数据库中获取报表数据,并根据报表数据生成目标报表文件;将目标报表文件存储至文件存储区对应的文件目录。
在一个实施例中,报表文件的获取装置还包括使用率监测模块,用于在空闲时间段监测数据库的当前资源使用率;在当前资源使用率未超过资源使用率阈值的情况下,根据预生成报表清单,从数据库中获取对应的目标报表数据,并根据目标报表数据预生成报表文件;将报表文件存储至文件存储区。
在一个实施例中,使用率监测模块,还用于在当前资源使用率超过资源使用率阈值的情况下,进入休眠状态并在目标时间间隔后执行在空闲时间段监测数据库的当前资源使用率的步骤。
在一个实施例中,使用率监测模块,还用于在空闲时间段,按照目标监测频率监测数据库的多个使用率评估指标;根据多个使用率评估指标,得到数据库的当前资源使用率。
在一个实施例中,使用率监测模块,还用于根据预生成报表清单,从数据库中获取各待生成的报表文件的目标报表数据,及确定各待生成的报表文件的预生成优先级;按照预生成优先级,根据目标报表数据依次生成各待生成的报表文件。
在一个实施例中,报表文件的获取装置还包括参数分析模块,用于根据预生成报表清单,得到各已生成的报表文件的当前报表参数;根据当前报表参数,得到各已生成的报表文件的当前文件目录;
使用率监测模块,还用于将各已生成的报表文件存储至文件存储区对应的当前文件目录中。
上述报表文件的获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储报表数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种报表文件的获取方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (19)

1.一种报表文件的获取方法,其特征在于,所述方法包括:
响应于客户端发起的报表访问请求,获取用户输入的报表参数;
根据所述报表参数,确定待访问的目标报表文件对应的文件目录;
根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;
在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述报表参数,确定待访问的目标报表文件对应的文件目录,包括:
根据所述报表参数,分别确定所述目标报表文件对应的多个文件索引;
按照预设顺序排列多个所述文件索引,得到所述目标报表文件的访问路径;
根据所述访问路径,得到所述目标报表文件对应的所述文件目录。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标报表文件预生成的情况下,若所述目标报表文件的获取过程存在异常或者所述目标报表文件存在异常,则根据所述报表参数生成数据库查询语句;
基于所述数据库查询语句,从数据库中获取报表数据,并根据所述报表数据生成所述目标报表文件;
将所述目标报表文件存储至所述文件存储区对应的所述文件目录。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在空闲时间段监测数据库的当前资源使用率;
在所述当前资源使用率未超过所述资源使用率阈值的情况下,根据预生成报表清单,从所述数据库中获取对应的目标报表数据,并根据所述目标报表数据预生成报表文件;
将所述报表文件存储至所述文件存储区。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述当前资源使用率超过资源使用率阈值的情况下,进入休眠状态并在目标时间间隔后执行所述在空闲时间段监测数据库的当前资源使用率的步骤。
6.根据权利要求4所述的方法,其特征在于,所述在空闲时间段监测数据库的当前资源使用率,包括:
在所述空闲时间段,按照目标监测频率监测所述数据库的多个使用率评估指标;
根据多个所述使用率评估指标,得到所述数据库的所述当前资源使用率。
7.根据权利要求4所述的方法,其特征在于,所述根据预生成报表清单,从所述数据库中获取对应的目标报表数据,并根据所述目标报表数据预生成报表文件,包括:
根据所述预生成报表清单,从数据库中获取各待生成的所述报表文件的所述目标报表数据,及确定各待生成的所述报表文件的预生成优先级;
按照所述预生成优先级,根据所述目标报表数据依次生成各待生成的所述报表文件。
8.根据权利要求7所述的方法,其特征在于,在所述按照所述预生成优先级,根据所述目标报表数据依次生成各待生成的所述报表文件之后,还包括:
根据所述预生成报表清单,得到各已生成的所述报表文件的当前报表参数;
根据所述当前报表参数,得到各已生成的所述报表文件的当前文件目录;
所述将所述报表文件存储至所述文件存储区,包括:
将所述各已生成的所述报表文件存储至所述文件存储区对应的所述当前文件目录中。
9.一种报表文件的获取装置,其特征在于,所述装置包括:
参数获取模块,用于响应于客户端发起的报表访问请求,获取用户输入的报表参数;
目录确定模块,用于根据所述报表参数,确定待访问的目标报表文件对应的文件目录;
文件查询模块,用于根据所述文件目录,在文件存储区查询所述目标报表文件是否预生成;
文件获取模块,用于在所述目标报表文件预生成的情况下,在所述文件存储区获取预生成的所述目标报表文件,向所述客户端发送所述目标报表文件。
10.根据权利要求9所述的装置,其特征在于,所述目录确定模块,还用于根据所述报表参数,分别确定所述目标报表文件对应的多个文件索引;按照预设顺序排列多个所述文件索引,得到所述目标报表文件的访问路径;根据所述访问路径,得到所述目标报表文件对应的所述文件目录。
11.根据权利要求9所述的装置,其特征在于,所述报表文件的获取装置还包括异常处理模块,用于在所述目标报表文件预生成的情况下,若所述目标报表文件的获取过程存在异常或者所述目标报表文件存在异常,则根据所述报表参数生成数据库查询语句;基于所述数据库查询语句,从数据库中获取报表数据,并根据所述报表数据生成所述目标报表文件;将所述目标报表文件存储至所述文件存储区对应的所述文件目录。
12.根据权利要求9所述的装置,其特征在于,所述报表文件的获取装置还包括使用率监测模块,用于在空闲时间段监测数据库的当前资源使用率;在所述当前资源使用率未超过所述资源使用率阈值的情况下,根据预生成报表清单,从所述数据库中获取对应的目标报表数据,并根据所述目标报表数据预生成报表文件;将所述报表文件存储至所述文件存储区。
13.根据权利要求12所述的装置,其特征在于,所述使用率监测模块,还用于在所述当前资源使用率超过资源使用率阈值的情况下,进入休眠状态并在目标时间间隔后执行所述在空闲时间段监测数据库的当前资源使用率的步骤。
14.根据权利要求12所述的装置,其特征在于,所述使用率监测模块,还用于在所述空闲时间段,按照目标监测频率监测所述数据库的多个使用率评估指标;根据多个所述使用率评估指标,得到所述数据库的所述当前资源使用率。
15.根据权利要求12所述的装置,其特征在于,所述使用率监测模块,还用于根据所述预生成报表清单,从数据库中获取各待生成的所述报表文件的所述目标报表数据,及确定各待生成的所述报表文件的预生成优先级;按照所述预生成优先级,根据所述目标报表数据依次生成各待生成的所述报表文件。
16.根据权利要求15所述的装置,其特征在于,所述报表文件的获取装置还包括参数分析模块,用于根据所述预生成报表清单,得到各已生成的所述报表文件的当前报表参数;根据所述当前报表参数,得到各已生成的所述报表文件的当前文件目录;
所述使用率监测模块,还用于将所述各已生成的所述报表文件存储至所述文件存储区对应的所述当前文件目录中。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202410372055.9A 2024-03-29 2024-03-29 报表文件的获取方法、装置、设备、存储介质和程序产品 Pending CN118193454A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410372055.9A CN118193454A (zh) 2024-03-29 2024-03-29 报表文件的获取方法、装置、设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410372055.9A CN118193454A (zh) 2024-03-29 2024-03-29 报表文件的获取方法、装置、设备、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN118193454A true CN118193454A (zh) 2024-06-14

Family

ID=91392621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410372055.9A Pending CN118193454A (zh) 2024-03-29 2024-03-29 报表文件的获取方法、装置、设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN118193454A (zh)

Similar Documents

Publication Publication Date Title
CN111241122B (zh) 任务监测方法、装置、电子设备和可读存储介质
US11526465B2 (en) Generating hash trees for database schemas
CN112613271A (zh) 数据分页方法、装置、计算机设备及存储介质
CN114036226A (zh) 一种数据同步方法、装置、设备及存储介质
CN116501700B (zh) 一种app格式化文件离线存储方法、装置、设备及存储介质
CN117151045A (zh) 基于区块链的报表加工方法、装置及计算机设备
CN113297245A (zh) 获取执行信息的方法及装置
CN118193454A (zh) 报表文件的获取方法、装置、设备、存储介质和程序产品
US9230011B1 (en) Index-based querying of archived data sets
CN115858471A (zh) 业务数据变更记录方法、装置、计算机设备及介质
US10762139B1 (en) Method and system for managing a document search index
CN113760600B (zh) 一种数据库备份方法、数据库还原方法和相关装置
CN114116723A (zh) 快照处理方法、装置及电子设备
CN114564621A (zh) 一种关联数据的方法、装置、设备及可读存储介质
CN108984720B (zh) 基于列存储的数据查询方法、装置、服务器及存储介质
CN113420021A (zh) 一种数据存储方法、装置、设备及介质
CN112100226A (zh) 一种数据查询方法及计算机可读存储介质
US20230315682A1 (en) Long term and short term data management of a file based time series database populated with data collected by an energy sensor for a power generating device or from another data source
CN112732704B (zh) 一种数据处理方法、装置及存储介质
CN116821219A (zh) 一种数据装载方法、装置和电子设备
CN116483532A (zh) 排程处理方法、装置、计算机设备和存储介质
CN116644096A (zh) 文件导出方法、装置、计算机设备和存储介质
CN117271445A (zh) 日志数据处理方法、装置、服务器、存储介质和程序产品
CN117216057A (zh) Es索引滚动更新的方法、装置、介质及设备
CN116185991A (zh) 数据库迁移方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination