一种报表文件生成方法、装置、设备及可读存储介质制造方法及图纸

技术编号:30765621 阅读:12 留言:0更新日期:2021-11-10 12:24
本发明专利技术公开了一种报表文件生成方法,包括:对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;根据目标报表模板确定目标数据源;按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;根据各分页对报表生成事件进行拆分操作,得到各子任务;利用线程池对各子任务进行并行处理,得到处理后数据;将处理后数据写入至目标报表模板中,得到目标报表文件。应用本发明专利技术所提供的报表文件生成方法,较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性。本发明专利技术还公开了一种报表文件生成装置、设备及存储介质,具有相应技术效果。术效果。术效果。

【技术实现步骤摘要】
一种报表文件生成方法、装置、设备及可读存储介质


[0001]本专利技术涉及数据处理
,特别是涉及一种报表文件生成方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]随着大数据的发展,为了对收集到的大量数据进行清晰明确地展示,需要对大数据进行收集、聚合、汇总,生成报表文件。
[0003]目前,常用的报表文件生成方式为用户选定某项服务器资源进行报表文件生成,如通过在包含多核中央处理器(Central Processing Unit,CPU)的服务器资源中选定一个特定的CPU资源进行报表文件生成。如报表处理机制比较落后,没有合理利用服务器资源,在大数据的情况下容易造成服务器单独某项资源过载,而其他资源空闲的情况,没有对计算机硬件资源进行有效利用,导致服务器资源利用低,处理速度慢,吞吐量低下,影响服务器稳定。
[0004]综上所述,如何有效地解决现有的报表文件生成方式服务器资源利用低,处理速度慢,吞吐量低下,影响服务器稳定等问题,是目前本领域技术人员急需解决的问题。

技术实现思路

[0005]本专利技术的目的是提供一种报表文件生成方法,该方法较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性;本专利技术的另一目的是提供一种报表文件生成装置、设备及计算机可读存储介质。
[0006]为解决上述技术问题,本专利技术提供如下技术方案:
[0007]一种报表文件生成方法,包括:
[0008]对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
[0009]根据所述目标报表模板确定目标数据源;
[0010]按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
[0011]根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;
[0012]利用线程池对各所述子任务进行并行处理,得到处理后数据;
[0013]将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。
[0014]在本专利技术的一种具体实施方式中,在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,还包括:
[0015]将所述处理后数据缓存到预设等待队列中;
[0016]将所述处理后数据写入至所述目标报表模板中,包括:
[0017]当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中。
[0018]在本专利技术的一种具体实施方式中,在利用线程池对各所述子任务进行并行处理之后,还包括:
[0019]监听是否存在处理异常的子任务;
[0020]若是,则对所述报表生成事件对应的各所述子任务进行打断操作。
[0021]在本专利技术的一种具体实施方式中,在得到目标报表文件之后,还包括:
[0022]将所述目标报表文件上传至分布式文件系统,并生成所述目标报表文件对应的目标文件下载链接。
[0023]在本专利技术的一种具体实施方式中,还包括:
[0024]接收对所述线程池对应的分布式系统进行资源添加的添加请求;
[0025]对所述添加请求进行解析,得到待添加的目标机器;
[0026]将所述目标机器注册至所述分布式系统。
[0027]一种报表文件生成装置,包括:
[0028]事件解析模块,用于对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
[0029]数据源确定模块,用于根据所述目标报表模板确定目标数据源;
[0030]逻辑分页模块,用于按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
[0031]子任务获得模块,用于根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;
[0032]任务处理模块,用于利用线程池对各所述子任务进行并行处理,得到处理后数据;
[0033]报表文件生成模块,用于将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。
[0034]在本专利技术的一种具体实施方式中,还包括:
[0035]数据缓存模块,用于在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,将所述处理后数据缓存到预设等待队列中;
[0036]所述报表文件生成模块具体为当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中的模块。
[0037]在本专利技术的一种具体实施方式中,还包括:
[0038]任务监听模块,用于在利用线程池对各所述子任务进行并行处理之后,监听是否存在处理异常的子任务;
[0039]任务打断模块,用于当确定存在处理异常的子任务时,对所述报表生成事件对应的各所述子任务进行打断操作。
[0040]一种报表文件生成设备,包括:
[0041]存储器,用于存储计算机程序;
[0042]处理器,用于执行所述计算机程序时实现如前所述报表文件生成方法的步骤。
[0043]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述报表文件生成方法的步骤。
[0044]本专利技术所提供的报表文件生成方法,对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;根据目标报表模板确定目标数据源;按照目标数
据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;根据各分页对报表生成事件进行拆分操作,得到各子任务;利用线程池对各子任务进行并行处理,得到处理后数据;将处理后数据写入至目标报表模板中,得到目标报表文件。
[0045]由上述技术方案可知,通过设置目标报表模板,根据目标报表模板确定目标数据源,并预先设置数据收集条件表达式,根据数据收集条件表达式进行数据收集,较大地提升了数据收集速度。通过根据数据收集条件表达式对收集到的初始数据进行逻辑分页,从而将任务量较大地报表生成事件拆分为多个任务量较小的子任务,并设置有用于对子任务进行处理的线程池,利用线程池对拆分得到的多个子任务进行并行处理,较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性。
[0046]相应的,本专利技术还提供了与上述报表文件生成方法相对应的报表文件生成装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
[0047]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1为本专利技术实施例中报表文件生成方法的一种实施流程图;
[0049]图2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报表文件生成方法,其特征在于,包括:对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;根据所述目标报表模板确定目标数据源;按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;利用线程池对各所述子任务进行并行处理,得到处理后数据;将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。2.根据权利要求1所述的报表文件生成方法,其特征在于,在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,还包括:将所述处理后数据缓存到预设等待队列中;将所述处理后数据写入至所述目标报表模板中,包括:当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中。3.根据权利要求1所述的报表文件生成方法,其特征在于,在利用线程池对各所述子任务进行并行处理之后,还包括:监听是否存在处理异常的子任务;若是,则对所述报表生成事件对应的各所述子任务进行打断操作。4.根据权利要求1所述的报表文件生成方法,其特征在于,在得到目标报表文件之后,还包括:将所述目标报表文件上传至分布式文件系统,并生成所述目标报表文件对应的目标文件下载链接。5.根据权利要求1至4任一项所述的报表文件生成方法,其特征在于,还包括:接收对所述线程池对应的分布式系统进行资源添加的添加请求;对所述添加请求进行解析,得到待添加的目标机器;将所述目标机器注册至所述分布式系统。6.一种报表文件生成装置,其特征在于,包括:事件解析模块,用于对监听到的...

【专利技术属性】
技术研发人员:杨志鸿
申请(专利权)人:上海微盟企业发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1